diff --git a/src/langbot/pkg/persistence/alembic/versions/0003_add_rerank_models.py b/src/langbot/pkg/persistence/alembic/versions/0003_add_rerank_models.py index 78fb7ce5..6070ddc5 100644 --- a/src/langbot/pkg/persistence/alembic/versions/0003_add_rerank_models.py +++ b/src/langbot/pkg/persistence/alembic/versions/0003_add_rerank_models.py @@ -15,16 +15,20 @@ depends_on = None def upgrade() -> None: - op.create_table( - 'rerank_models', - sa.Column('uuid', sa.String(255), primary_key=True, unique=True), - sa.Column('name', sa.String(255), nullable=False), - sa.Column('provider_uuid', sa.String(255), nullable=False), - sa.Column('extra_args', sa.JSON, nullable=False, server_default='{}'), - sa.Column('prefered_ranking', sa.Integer, nullable=False, server_default='0'), - sa.Column('created_at', sa.DateTime, nullable=False, server_default=sa.func.now()), - sa.Column('updated_at', sa.DateTime, nullable=False, server_default=sa.func.now()), - ) + # Check if table already exists (may have been created by create_all()) + conn = op.get_bind() + inspector = sa.inspect(conn) + if 'rerank_models' not in inspector.get_table_names(): + op.create_table( + 'rerank_models', + sa.Column('uuid', sa.String(255), primary_key=True, unique=True), + sa.Column('name', sa.String(255), nullable=False), + sa.Column('provider_uuid', sa.String(255), nullable=False), + sa.Column('extra_args', sa.JSON, nullable=False, server_default='{}'), + sa.Column('prefered_ranking', sa.Integer, nullable=False, server_default='0'), + sa.Column('created_at', sa.DateTime, nullable=False, server_default=sa.func.now()), + sa.Column('updated_at', sa.DateTime, nullable=False, server_default=sa.func.now()), + ) def downgrade() -> None: