fix: add column check in migration

This commit is contained in:
chinu0609 2025-11-05 18:40:58 +05:30
parent 9041a804ec
commit ff263c0132

View file

@ -17,8 +17,19 @@ down_revision: Union[str, None] = '211ab850ef3d'
branch_labels: Union[str, Sequence[str], None] = None branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None
def _get_column(inspector, table, name, schema=None):
for col in inspector.get_columns(table, schema=schema):
if col["name"] == name:
return col
return None
def upgrade() -> None: def upgrade() -> None:
conn = op.get_bind()
insp = sa.inspect(conn)
last_accessed_column = _get_column(insp, "data", "last_accessed")
if not last_accessed_column:
op.add_column('data', op.add_column('data',
sa.Column('last_accessed', sa.DateTime(timezone=True), nullable=True) sa.Column('last_accessed', sa.DateTime(timezone=True), nullable=True)
) )
@ -27,4 +38,9 @@ def upgrade() -> None:
def downgrade() -> None: def downgrade() -> None:
conn = op.get_bind()
insp = sa.inspect(conn)
last_accessed_column = _get_column(insp, "data", "last_accessed")
if last_accessed_column:
op.drop_column('data', 'last_accessed') op.drop_column('data', 'last_accessed')