diff --git a/src/objects/migrations/0009_converting_attributes.py b/src/objects/migrations/0009_converting_attributes.py index 9195f7fde7..1782f775da 100644 --- a/src/objects/migrations/0009_converting_attributes.py +++ b/src/objects/migrations/0009_converting_attributes.py @@ -151,17 +151,21 @@ class Migration(DataMigration): def forwards(self, orm): "Write your forwards methods here." + for attr in orm.ObjAttribute.objects.all(): # repack attr into new format, and reimport - val = pickle.loads(to_str(attr.db_value)) - if hasattr(val, '__iter__'): - val = ("iter", val) - elif type(val) == PackedDBobject: - val = ("dbobj", val) - else: - val = ("simple", val) - attr.db_value = to_unicode(pickle.dumps(to_str(to_attr(from_attr(attr, val))))) - attr.save() + try: + val = pickle.loads(to_str(attr.db_value)) + if hasattr(val, '__iter__'): + val = ("iter", val) + elif type(val) == PackedDBobject: + val = ("dbobj", val) + else: + val = ("simple", val) + attr.db_value = to_unicode(pickle.dumps(to_str(to_attr(from_attr(attr, val))))) + attr.save() + except TypeError, RuntimeError: + pass def backwards(self, orm): "Write your backwards methods here." diff --git a/src/players/migrations/0008_converting_attributes.py b/src/players/migrations/0008_converting_attributes.py index a790d5868d..5527892dfe 100644 --- a/src/players/migrations/0008_converting_attributes.py +++ b/src/players/migrations/0008_converting_attributes.py @@ -154,16 +154,20 @@ class Migration(DataMigration): def forwards(self, orm): "Write your forwards methods here." for attr in orm.PlayerAttribute.objects.all(): - # repack attr into new format, and reimport - val = pickle.loads(to_str(attr.db_value)) - if hasattr(val, '__iter__'): - val = ("iter", val) - elif type(val) == PackedDBobject: - val = ("dbobj", val) - else: - val = ("simple", val) - attr.db_value = to_unicode(pickle.dumps(to_str(to_attr(from_attr(attr, val))))) - attr.save() + try: + # repack attr into new format, and reimport + val = pickle.loads(to_str(attr.db_value)) + if hasattr(val, '__iter__'): + val = ("iter", val) + elif type(val) == PackedDBobject: + val = ("dbobj", val) + else: + val = ("simple", val) + attr.db_value = to_unicode(pickle.dumps(to_str(to_attr(from_attr(attr, val))))) + attr.save() + except TypeError, RuntimeError: + pass + def backwards(self, orm): "Write your backwards methods here." diff --git a/src/scripts/migrations/0005_converting_attributes.py b/src/scripts/migrations/0005_converting_attributes.py index fd6c22bba0..42c1bbb7ad 100644 --- a/src/scripts/migrations/0005_converting_attributes.py +++ b/src/scripts/migrations/0005_converting_attributes.py @@ -152,17 +152,20 @@ class Migration(DataMigration): def forwards(self, orm): "Write your forwards methods here." for attr in orm.ScriptAttribute.objects.all(): - # repack attr into new format, and reimport - val = pickle.loads(to_str(attr.db_value)) - if hasattr(val, '__iter__'): - val = ("iter", val) - elif type(val) == PackedDBobject: - val = ("dbobj", val) - else: - val = ("simple", val) - attr.db_value = to_unicode(pickle.dumps(to_str(to_attr(from_attr(attr, val))))) - attr.save() - + try: + # repack attr into new format, and reimport + val = pickle.loads(to_str(attr.db_value)) + if hasattr(val, '__iter__'): + val = ("iter", val) + elif type(val) == PackedDBobject: + val = ("dbobj", val) + else: + val = ("simple", val) + attr.db_value = to_unicode(pickle.dumps(to_str(to_attr(from_attr(attr, val))))) + attr.save() + except TypeError, RuntimeError: + pass + def backwards(self, orm): "Write your backwards methods here." raise RuntimeError