From 05b2d74ceedcd7f4101b063f28128260e68d573f Mon Sep 17 00:00:00 2001 From: Griatch Date: Wed, 25 Jan 2017 22:11:34 +0100 Subject: [PATCH] Actually add the migration in question... --- .../0007_tag_migrations_may_be_slow.py | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 evennia/typeclasses/migrations/0007_tag_migrations_may_be_slow.py diff --git a/evennia/typeclasses/migrations/0007_tag_migrations_may_be_slow.py b/evennia/typeclasses/migrations/0007_tag_migrations_may_be_slow.py new file mode 100644 index 0000000000..13c582fbda --- /dev/null +++ b/evennia/typeclasses/migrations/0007_tag_migrations_may_be_slow.py @@ -0,0 +1,74 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.11 on 2017-01-25 22:30 +from __future__ import unicode_literals + +from django.db import migrations + +def update_tags_with_dbmodel(apps, schema_editor): + + Tag = apps.get_model('typeclasses', 'Tag') + + ObjectDB = apps.get_model('objects', 'ObjectDB') + for obj in ObjectDB.objects.all().exclude(db_tags__db_model="objectdb"): + for tag in obj.db_tags.all().exclude(db_model="objectdb"): + obj.db_tags.remove(tag) + newtag = Tag(db_key=tag.db_key, db_category=tag.db_category, + db_data=tag.db_data, db_tagtype=tag.db_tagtype, db_model="objectdb") + newtag.save() + obj.db_tags.add(newtag) + + PlayerDB = apps.get_model('players', 'PlayerDB') + for obj in PlayerDB.objects.all().exclude(db_tags__db_model="playerdb"): + for tag in obj.db_tags.all().exclude(db_model="playerdb"): + obj.db_tags.remove(tag) + newtag = Tag(db_key=tag.db_key, db_category=tag.db_category, + db_data=tag.db_data, db_tagtype=tag.db_tagtype, db_model="playerdb") + newtag.save() + obj.db_tags.add(newtag) + + ScriptDB = apps.get_model('scripts', 'ScriptDB') + for obj in ScriptDB.objects.all().exclude(db_tags__db_model="scriptdb"): + for tag in obj.db_tags.all().exclude(db_model="scriptdb"): + obj.db_tags.remove(tag) + newtag = Tag(db_key=tag.db_key, db_category=tag.db_category, + db_data=tag.db_data, db_tagtype=tag.db_tagtype, db_model="scriptdb") + newtag.save() + obj.db_tags.add(newtag) + + ChannelDB = apps.get_model('comms', 'ChannelDB') + for obj in ChannelDB.objects.all().exclude(db_tags__db_model="channeldb"): + for tag in obj.db_tags.all().exclude(db_model="channeldb"): + obj.db_tags.remove(tag) + newtag = Tag(db_key=tag.db_key, db_category=tag.db_category, + db_data=tag.db_data, db_tagtype=tag.db_tagtype, db_model="channeldb") + newtag.save() + obj.db_tags.add(newtag) + + HelpEntry = apps.get_model('help', 'HelpEntry') + for obj in HelpEntry.objects.all().exclude(db_tags__db_model="helpentry"): + for tag in obj.db_tags.all().exclude(db_model="helpentry"): + obj.db_tags.remove(tag) + newtag = Tag(db_key=tag.db_key, db_category=tag.db_category, + db_data=tag.db_data, db_tagtype=tag.db_tagtype, db_model="helpentry") + newtag.save() + obj.db_tags.add(newtag) + + Msg = apps.get_model('comms', 'Msg') + for obj in Msg.objects.all().exclude(db_tags__db_model="msg"): + for tag in obj.db_tags.all().exclude(db_model="msg"): + obj.db_tags.remove(tag) + newtag = Tag(db_key=tag.db_key, db_category=tag.db_category, + db_data=tag.db_data, db_tagtype=tag.db_tagtype, db_model="msg") + newtag.save() + obj.db_tags.add(newtag) + + +class Migration(migrations.Migration): + + dependencies = [ + ('typeclasses', '0006_auto_add_dbmodel_value_for_tags_attributes'), + ] + + operations = [ + migrations.RunPython(update_tags_with_dbmodel) + ]