# (Partially) Generated by Django 4.0.2 on 2022-02-04 18:01 import django.db.models.deletion from django.db import migrations, models def migrate_certification_version_forward(apps, schema_editor): db_alias = schema_editor.connection.alias Certification = apps.get_model("paperwork", "Certification") CertificationVersion = apps.get_model("paperwork", "CertificationVersion") for certification in Certification.objects.using(db_alias).all(): (version, _) = CertificationVersion.objects.using(db_alias).get_or_create( definition=certification.certification, version=certification.version ) certification.certification_version = version certification.save() class Migration(migrations.Migration): dependencies = [ ("paperwork", "0001_initial"), ] operations = [ migrations.CreateModel( name="CertificationVersion", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "version", models.CharField( blank=True, db_column="Version", max_length=255, null=True ), ), ( "definition", models.ForeignKey( db_column="Certification", on_delete=django.db.models.deletion.PROTECT, to="paperwork.certificationdefinition", ), ), ], ), migrations.AddConstraint( model_name="certificationversion", constraint=models.UniqueConstraint( fields=("definition", "version"), name="unique_certification_version" ), ), migrations.AddField( model_name="certification", name="certification_version", field=models.ForeignKey( on_delete=django.db.models.deletion.PROTECT, to="paperwork.certificationversion", null=True, ), ), migrations.RunPython(migrate_certification_version_forward), migrations.AlterField( model_name="certification", name="certification_version", field=models.ForeignKey( on_delete=django.db.models.deletion.PROTECT, to="paperwork.certificationversion", ), ), migrations.RemoveField( model_name="certification", name="certification", ), migrations.RemoveField( model_name="certification", name="version", ), ]