Files
model-platform/migrations/versions/20260730_0004_remove_redis_lock_name.py
T

50 lines
1.3 KiB
Python

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