"""Drop password_hash column from identity_persons. Revision ID: 003 Revises: 002 Create Date: 2026-03-24 """ import sqlalchemy as sa from alembic import op revision = "003" down_revision = "002" branch_labels = None depends_on = None def _column_exists(conn, table_name: str, column_name: str) -> bool: result = conn.execute( sa.text( "SELECT COUNT(*) FROM information_schema.columns " "WHERE table_schema = DATABASE() " "AND table_name = :table AND column_name = :column" ), {"table": table_name, "column": column_name}, ) return result.scalar() > 0 def upgrade() -> None: conn = op.get_bind() if _column_exists(conn, "identity_persons", "password_hash"): op.drop_column("identity_persons", "password_hash") def downgrade() -> None: op.add_column( "identity_persons", sa.Column("password_hash", sa.String(255), nullable=True), )