diff --git a/evennia/comms/migrations/0014_auto_20170705_1736.py b/evennia/comms/migrations/0014_convert_msgs_may_be_slow.py similarity index 92% rename from evennia/comms/migrations/0014_auto_20170705_1736.py rename to evennia/comms/migrations/0014_convert_msgs_may_be_slow.py index 1550f6d10f..cb5f165445 100644 --- a/evennia/comms/migrations/0014_auto_20170705_1736.py +++ b/evennia/comms/migrations/0014_convert_msgs_may_be_slow.py @@ -8,10 +8,9 @@ from django.db import migrations def forwards(apps, schema_editor): try: - apps.get_model('accounts', 'AccountDB') + AccountDB = apps.get_model('accounts', 'AccountDB') except LookupError: return - AccountDB = apps.get_model('accounts', 'AccountDB') Msg = apps.get_model('comms', 'Msg') for msg in Msg.objects.all(): diff --git a/evennia/comms/migrations/0015_auto_20170706_2041.py b/evennia/comms/migrations/0015_auto_20170706_2041.py index 607cabef29..a9e2083a83 100644 --- a/evennia/comms/migrations/0015_auto_20170706_2041.py +++ b/evennia/comms/migrations/0015_auto_20170706_2041.py @@ -18,7 +18,7 @@ def _table_exists(db_cursor, tablename): class Migration(migrations.Migration): dependencies = [ - ('comms', '0014_auto_20170705_1736'), + ('comms', '0014_convert_msgs_may_be_slow'), ] db_cursor = connection.cursor() diff --git a/evennia/typeclasses/migrations/0008_lock_and_perm_rename.py b/evennia/typeclasses/migrations/0008_lock_and_perm_rename.py index aee25c2791..670a7c8b08 100644 --- a/evennia/typeclasses/migrations/0008_lock_and_perm_rename.py +++ b/evennia/typeclasses/migrations/0008_lock_and_perm_rename.py @@ -26,7 +26,7 @@ def update_perms_and_locks(apps, schema_editor): def _sub(match): perm = match.group(1) - return perm_map[perm.lower()].capitalize() if perm.lower() in perm_map else perm + return perm_map[perm.lower()].capitalize() if (perm and perm.lower() in perm_map) else perm for app_tuple in apps_models: TClass = apps.get_model(*app_tuple) diff --git a/evennia/utils/dbserialize.py b/evennia/utils/dbserialize.py index 2735aa6da0..0ff0678be2 100644 --- a/evennia/utils/dbserialize.py +++ b/evennia/utils/dbserialize.py @@ -117,6 +117,8 @@ def _init_globals(): if not _TO_MODEL_MAP: _TO_MODEL_MAP = defaultdict(str) _TO_MODEL_MAP.update(dict((c.natural_key(), c.model_class()) for c in ContentType.objects.all())) + # handle old player models by converting them to accounts + _TO_MODEL_MAP[(u"players", u"playerdb")] = _TO_MODEL_MAP[(u"accounts", u"accountdb")] if not _SESSION_HANDLER: from evennia.server.sessionhandler import SESSION_HANDLER as _SESSION_HANDLER diff --git a/evennia/utils/picklefield.py b/evennia/utils/picklefield.py index 449c6a8125..d63b9b32e3 100644 --- a/evennia/utils/picklefield.py +++ b/evennia/utils/picklefield.py @@ -265,12 +265,3 @@ class PickledObjectField(models.Field): # actual lookup, so all we need to do is limit the lookup types. return super(PickledObjectField, self).get_db_prep_lookup( lookup_type, value, connection=connection, prepared=prepared) - - -# South support; see http://south.aeracode.org/docs/tutorial/part4.html#simple-inheritance -try: - from south.modelsinspector import add_introspection_rules -except ImportError: - pass -else: - add_introspection_rules([], [r"^evennia\.utils\.picklefield\.PickledObjectField"])