50 lines
1.3 KiB
Python
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,
|
|
)
|