web-dev-qa-db-ja.com

Alembic:既存の列に一意の制約を追加する方法

制約のない列「名前」を持つテーブル「テスト」があります。この列にALTER制約を付けて、この列をUNIQUEする必要があります。どうすればいいですか?

op.alter_column('???')またはcreate_unique_constraint('???')を使用する必要がありますか? create_unique_constraintは、既存の列ではなく、新しい列用ではありませんか?

24
Ishwar

追加するには、次のものが必要です。 https://alembic.sqlalchemy.org/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')

ドロップするには、次のものが必要です。 https://alembic.sqlalchemy.org/en/latest/ops.html#alembic.operations.Operations.drop_constraint

op.drop_constraint('uq_user_name', 'user', schema='my_schema')
36
Mario Ruggier