"""Add version field to tasks for optimistic locking Revision ID: 015 Revises: 014 Create Date: 2026-01-10 Add version integer field to tasks table for optimistic locking. This prevents concurrent update conflicts by tracking version numbers. """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa revision: str = '015' down_revision: Union[str, None] = '014' branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: # Add version column to pjctrl_tasks table for optimistic locking op.add_column( 'pjctrl_tasks', sa.Column('version', sa.Integer(), nullable=False, server_default='1') ) def downgrade() -> None: op.drop_column('pjctrl_tasks', 'version')