27 lines
784 B
Python
27 lines
784 B
Python
"""add task completed_at timestamp
|
|
|
|
Revision ID: 0018_task_completed_at
|
|
Revises: 0017_memos
|
|
"""
|
|
|
|
import sqlalchemy as sa
|
|
from alembic import op
|
|
|
|
revision = "0018_task_completed_at"
|
|
down_revision = "0017_memos"
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
with op.batch_alter_table("tasks") as batch_op:
|
|
batch_op.add_column(sa.Column("completed_at", sa.DateTime(timezone=True), nullable=True))
|
|
batch_op.create_index("ix_tasks_completed_at", ["completed_at"])
|
|
op.execute("UPDATE tasks SET completed_at = updated_at WHERE completed IS TRUE AND completed_at IS NULL")
|
|
|
|
|
|
def downgrade() -> None:
|
|
with op.batch_alter_table("tasks") as batch_op:
|
|
batch_op.drop_index("ix_tasks_completed_at")
|
|
batch_op.drop_column("completed_at")
|