# Generated manually for cycle close request channel import django.db.models.deletion from django.conf import settings from django.db import migrations, models def null_end_dates_for_open_cycles(apps, schema_editor): Cycle = apps.get_model("farms", "Cycle") Cycle.objects.exclude(status="closed").update(end_date=None) class Migration(migrations.Migration): dependencies = [ ("farms", "0015_cycle_close_approval"), ("sync", "0002_citysite_registered_by"), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.RemoveConstraint( model_name="cycle", name="chk_cycles_date_range", ), migrations.AlterField( model_name="cycle", name="end_date", field=models.DateField(blank=True, null=True), ), migrations.AlterField( model_name="cycle", name="total_days", field=models.IntegerField(default=1), ), migrations.AlterField( model_name="cycle", name="status", field=models.CharField( choices=[ ("active", "Active"), ("pending_close", "Pending close"), ("closed", "Closed"), ], db_index=True, default="active", max_length=30, ), ), migrations.AddField( model_name="cycle", name="city_site", field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="mirrored_cycles", to="sync.citysite", ), ), migrations.AddField( model_name="cycle", name="source_cycle_id", field=models.BigIntegerField( blank=True, help_text="cycle_id on the city dashboard-cpsp deployment", null=True, ), ), migrations.AddField( model_name="cycle", name="proposed_end_date", field=models.DateField(blank=True, null=True), ), migrations.AddField( model_name="cycle", name="close_requested_at", field=models.DateTimeField(blank=True, null=True), ), migrations.AddField( model_name="cycle", name="close_requested_by", field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="requested_cycle_closes", to=settings.AUTH_USER_MODEL, ), ), migrations.AddConstraint( model_name="cycle", constraint=models.CheckConstraint( condition=models.Q(("end_date__isnull", True)) | models.Q(("end_date__gte", models.F("start_date"))), name="chk_cycles_date_range", ), ), migrations.AddConstraint( model_name="cycle", constraint=models.UniqueConstraint( condition=models.Q( ("city_site__isnull", False), ("source_cycle_id__isnull", False) ), fields=("city_site", "source_cycle_id"), name="uniq_cycle_city_source", ), ), migrations.RunPython(null_end_dates_for_open_cycles, migrations.RunPython.noop), ]