This commit is contained in:
Timothy Jaeryang Baek
2026-05-14 13:44:50 +09:00
parent e5c8f8110a
commit bd9f82d5a6
2 changed files with 30 additions and 20 deletions
@@ -18,25 +18,30 @@ depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None: def upgrade() -> None:
"""Create a key-value config table with versioning.""" """Create a key-value config table with versioning."""
op.create_table( conn = op.get_bind()
'config', inspector = sa.inspect(conn)
sa.Column('id', sa.Integer, primary_key=True), existing_tables = set(inspector.get_table_names())
sa.Column('data', sa.JSON(), nullable=False),
sa.Column('version', sa.Integer, nullable=False), if 'config' not in existing_tables:
sa.Column( op.create_table(
'created_at', 'config',
sa.DateTime(), sa.Column('id', sa.Integer, primary_key=True),
nullable=False, sa.Column('data', sa.JSON(), nullable=False),
server_default=sa.func.now(), sa.Column('version', sa.Integer, nullable=False),
), sa.Column(
sa.Column( 'created_at',
'updated_at', sa.DateTime(),
sa.DateTime(), nullable=False,
nullable=True, server_default=sa.func.now(),
server_default=sa.func.now(), ),
onupdate=sa.func.now(), sa.Column(
), 'updated_at',
) sa.DateTime(),
nullable=True,
server_default=sa.func.now(),
onupdate=sa.func.now(),
),
)
def downgrade() -> None: def downgrade() -> None:
@@ -16,7 +16,12 @@ depends_on = None
def upgrade(): def upgrade():
op.add_column('folder', sa.Column('data', sa.JSON(), nullable=True)) conn = op.get_bind()
inspector = sa.inspect(conn)
folder_cols = {c['name'] for c in inspector.get_columns('folder')}
if 'data' not in folder_cols:
op.add_column('folder', sa.Column('data', sa.JSON(), nullable=True))
def downgrade(): def downgrade():