From dd8899cc50e3dde9bfefdb09ee0e75497ba72045 Mon Sep 17 00:00:00 2001 From: bboysoul Date: Tue, 8 Sep 2026 09:24:56 +0800 Subject: [PATCH] fix: preserve existing task due times --- .../versions/0014_preserve_task_due_times.py | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 migrations/versions/0014_preserve_task_due_times.py diff --git a/migrations/versions/0014_preserve_task_due_times.py b/migrations/versions/0014_preserve_task_due_times.py new file mode 100644 index 0000000..c3a6a25 --- /dev/null +++ b/migrations/versions/0014_preserve_task_due_times.py @@ -0,0 +1,31 @@ +"""preserve time flags for existing task deadlines + +Revision ID: 0014_preserve_task_due_times +Revises: 0013_task_due_has_time +""" + +import sqlalchemy as sa +from alembic import op + +revision = "0014_preserve_task_due_times" +down_revision = "0013_task_due_has_time" +branch_labels = None +depends_on = None + + +def upgrade() -> None: + tasks = sa.table( + "tasks", + sa.column("due_at", sa.DateTime(timezone=True)), + sa.column("due_has_time", sa.Boolean()), + ) + op.execute( + tasks.update() + .where(tasks.c.due_at.is_not(None)) + .where(sa.extract("hour", tasks.c.due_at) != 23) + .values(due_has_time=True) + ) + + +def downgrade() -> None: + pass