from django.db import migrations, models def migrate_intake_statuses(apps, schema_editor): TicketDraft = apps.get_model("tickets", "TicketDraft") TicketDraft.objects.filter(status="editing").update(status="collecting") TicketDraft.objects.filter(status="ready").update(status="needs_input") TicketDraft.objects.filter(status="confirmed").update(status="ticket_created") def restore_draft_statuses(apps, schema_editor): TicketDraft = apps.get_model("tickets", "TicketDraft") TicketDraft.objects.filter(status="collecting").update(status="editing") TicketDraft.objects.filter(status="needs_input").update(status="ready") TicketDraft.objects.filter(status="ticket_created").update(status="confirmed") class Migration(migrations.Migration): dependencies = [ ("tickets", "0005_ticketcollaborator_ticketfieldevidence_and_more"), ] operations = [ migrations.AddField( model_name="ticketdraft", name="field_evidence", field=models.JSONField(default=dict), ), migrations.AddField( model_name="ticketdraft", name="invalid_reason", field=models.TextField(blank=True), ), migrations.AddField( model_name="ticketdraft", name="message_timeline", field=models.JSONField(default=list), ), migrations.AddField( model_name="ticketdraft", name="problem_valid", field=models.BooleanField(blank=True, null=True), ), migrations.AlterField( model_name="ticketdraft", name="status", field=models.CharField(default="collecting", max_length=24), ), migrations.RunPython(migrate_intake_statuses, restore_draft_statuses), ]