注意:SQLAlchemy 迁移
更新 = 版本:0.7.3
- 在 UniqueConstraint 上使用 create() 添加唯一约束
- 要删除唯一约束,请在 UniqueConstraint 上使用 drop()
创建一个迁移脚本。可以通过 2 种方式创建脚本。
# create manage.py
migrate manage manage.py --repository=migrations --url=postgresql://<user>:<password>@localhost:5432/<db_name>
# create script file
python manage.py script "Add Unique Contraints"
或者,如果您不想创建 manage.py,请使用以下命令
migrate script --repository=migrations --url=postgresql://<user>:<password?@localhost:5432/<db_name> "Add Unique Contraint"
它将创建 00x_Add_Unique_Constraints.py
文件:00x_Add_Unique_Constraints.py
from migrate import UniqueConstraint
from sqlalchemy import MetaData, Table
def upgrade(migrate_engine):
# Upgrade operations go here. Don't create your own engine; bind
# migrate_engine to your metadata
# Table Name: user_table
# Column Name: first_name
metadata = MetaData(bind=migrate_engine)
user_table = Table('user_table', metadata, autoload=True)
UniqueConstraint(user_table.c.first_name, table=user_table).create()
def downgrade(migrate_engine):
# Operations to reverse the above upgrade go here.
# Table Name: user_table
# Column Name: first_name
metadata = MetaData(bind=migrate_engine)
user_table = Table('user_table', metadata, autoload=True)
UniqueConstraint(user_table.c.first_name, table=user_table).drop()