Alembic:如何向现有列添加唯一约束

Ish*_*war 24 sqlalchemy flask-sqlalchemy alembic

我有一个表'test',其列'Name'没有约束.ALTER通过给它一个UNIQUE约束我需要这个专栏.我该怎么办?

我应该使用op.alter_column('???')create_unique_constraint('???')?新列不是create_unique_constraint而不是现有列吗?

Mar*_*ier 35

要添加,您需要:http: //alembic.zzzcomputing.com/en/latest/ops.html#alembic.operations.Operations.create_unique_constraint

from alembic import op
op.create_unique_constraint('uq_user_name', 'user', ['name'], schema='my_schema')
Run Code Online (Sandbox Code Playgroud)

要删除,您需要:http: //alembic.zzzcomputing.com/en/latest/ops.html#alembic.operations.Operations.drop_constraint

op.drop_constraint('uq_user_name', 'user', schema='my_schema')
Run Code Online (Sandbox Code Playgroud)

  • 对于未来的读者,示例代码是:`来自alembic import op` create - `op.create_unique_constraint("uq_user_name","user",["name"])`drop - `op.drop_constraint('uq_user_name','user' )` (2认同)