diff --git a/mailing/migrations/0003_auto_20171129_2155.py b/mailing/migrations/0003_auto_20171129_2155.py index 9d7ae61..d3a8a0e 100644 --- a/mailing/migrations/0003_auto_20171129_2155.py +++ b/mailing/migrations/0003_auto_20171129_2155.py @@ -7,32 +7,6 @@ import django.db.models.deletion import mailing.models -def forward(apps, schema_editor): - db_alias = schema_editor.connection.alias - Message = apps.get_model("mailing", "Message") - MessageAuthor = apps.get_model("mailing", "MessageAuthor") - for message in Message.objects.using(db_alias).all(): - message.new_author, _ = MessageAuthor.objects.using(db_alias).get_or_create(author_type=message.author_type, author_id=message.author_id) - message.save() - - -def backward(apps, schema_editor): - db_alias = schema_editor.connection.alias - Message = apps.get_model("mailing", "Message") - ContentType = apps.get_model("contenttypes", "ContentType") - for message in Message.objects.using(db_alias).all(): - author_type = message.new_author.author_type - message.author_type = message.new_author.author_type - message.author_id = message.new_author.author_id - AuthorType = apps.get_model(author_type.app_label, author_type.model) - author = AuthorType.objects.get(pk=message.author_id) - if author_type.model == 'conference': - message.from_email = author.contact_email - else: - message.from_email = author.email - message.save() - - class Migration(migrations.Migration): dependencies = [ @@ -61,37 +35,4 @@ class Migration(migrations.Migration): name='from_email', field=models.EmailField(blank=True, null=True), ), - migrations.RunPython(forward, backward), - migrations.RemoveField( - model_name='message', - name='author_id', - ), - migrations.RemoveField( - model_name='message', - name='author_type', - ), - migrations.RemoveField( - model_name='message', - name='from_email', - ), - migrations.RenameField( - model_name='message', - old_name='new_author', - new_name='author', - ), - migrations.AlterField( - model_name='message', - name='author', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='mailing.MessageAuthor'), - ), - migrations.AddField( - model_name='message', - name='in_reply_to', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='mailing.Message'), - ), - migrations.AddField( - model_name='message', - name='subject', - field=models.CharField(blank=True, max_length=1000), - ), ] diff --git a/mailing/migrations/0004_auto_20171130_2034.py b/mailing/migrations/0004_auto_20171130_2034.py new file mode 100644 index 0000000..da2d3b6 --- /dev/null +++ b/mailing/migrations/0004_auto_20171130_2034.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.1 on 2017-11-30 20:34 +from __future__ import unicode_literals + +from django.db import migrations + + +def forward(apps, schema_editor): + db_alias = schema_editor.connection.alias + Message = apps.get_model("mailing", "Message") + MessageAuthor = apps.get_model("mailing", "MessageAuthor") + for message in Message.objects.using(db_alias).all(): + message.new_author, _ = MessageAuthor.objects.using(db_alias).get_or_create(author_type=message.author_type, author_id=message.author_id) + message.save() + + +def backward(apps, schema_editor): + db_alias = schema_editor.connection.alias + Message = apps.get_model("mailing", "Message") + ContentType = apps.get_model("contenttypes", "ContentType") + for message in Message.objects.using(db_alias).all(): + author_type = message.new_author.author_type + message.author_type = message.new_author.author_type + message.author_id = message.new_author.author_id + AuthorType = apps.get_model(author_type.app_label, author_type.model) + author = AuthorType.objects.get(pk=message.author_id) + if author_type.model == 'conference': + message.from_email = author.contact_email + else: + message.from_email = author.email + message.save() + + +class Migration(migrations.Migration): + + dependencies = [ + ('mailing', '0003_auto_20171129_2155'), + ] + + operations = [ + migrations.RunPython(forward, backward), + ] diff --git a/mailing/migrations/0005_auto_20171130_2039.py b/mailing/migrations/0005_auto_20171130_2039.py new file mode 100644 index 0000000..94b5033 --- /dev/null +++ b/mailing/migrations/0005_auto_20171130_2039.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.1 on 2017-11-30 20:39 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('mailing', '0004_auto_20171130_2034'), + ] + + operations = [ + migrations.RemoveField( + model_name='message', + name='author_id', + ), + migrations.RemoveField( + model_name='message', + name='author_type', + ), + migrations.RemoveField( + model_name='message', + name='from_email', + ), + migrations.RenameField( + model_name='message', + old_name='new_author', + new_name='author', + ), + migrations.AlterField( + model_name='message', + name='author', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='mailing.MessageAuthor'), + ), + migrations.AddField( + model_name='message', + name='in_reply_to', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='mailing.Message'), + ), + migrations.AddField( + model_name='message', + name='subject', + field=models.CharField(blank=True, max_length=1000), + ), + ]