"""remove Redis-specific lock column naming Revision ID: 20260730_0004 Revises: 20260728_0003 Create Date: 2026-07-30 """ from collections.abc import Sequence from alembic import context, op import sqlalchemy as sa revision: str = "20260730_0004" down_revision: str | None = "20260728_0003" branch_labels: str | Sequence[str] | None = None depends_on: str | Sequence[str] | None = None def _column_names() -> set[str]: inspector = sa.inspect(op.get_bind()) return {item["name"] for item in inspector.get_columns("edit_sessions")} def upgrade() -> None: if context.is_offline_mode(): return columns = _column_names() if "redis_lock_key" in columns and "lock_key" not in columns: op.alter_column( "edit_sessions", "redis_lock_key", new_column_name="lock_key", existing_type=sa.String(length=512), existing_nullable=False, ) def downgrade() -> None: if context.is_offline_mode(): return columns = _column_names() if "lock_key" in columns and "redis_lock_key" not in columns: op.alter_column( "edit_sessions", "lock_key", new_column_name="redis_lock_key", existing_type=sa.String(length=512), existing_nullable=False, )