"""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