forked from mirrors/bookwyrm
40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
# Generated by Django 3.2.4 on 2021-08-27 17:27
|
|
|
|
from django.db import migrations, models
|
|
import django.db.models.expressions
|
|
|
|
|
|
def normalize_readthrough_dates(app_registry, schema_editor):
|
|
"""Find any invalid dates and reset them"""
|
|
db_alias = schema_editor.connection.alias
|
|
app_registry.get_model("bookwyrm", "ReadThrough").objects.using(db_alias).filter(
|
|
start_date__gt=models.F("finish_date")
|
|
).update(start_date=models.F("finish_date"))
|
|
|
|
|
|
def reverse_func(apps, schema_editor):
|
|
"""nothing to do here"""
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
("bookwyrm", "0085_user_saved_lists"),
|
|
]
|
|
|
|
operations = [
|
|
migrations.RunPython(normalize_readthrough_dates, reverse_func),
|
|
migrations.AlterModelOptions(
|
|
name="readthrough",
|
|
options={"ordering": ("-start_date",)},
|
|
),
|
|
migrations.AddConstraint(
|
|
model_name="readthrough",
|
|
constraint=models.CheckConstraint(
|
|
check=models.Q(
|
|
("finish_date__gte", django.db.models.expressions.F("start_date"))
|
|
),
|
|
name="chronology",
|
|
),
|
|
),
|
|
]
|