ken*_*uen 3 python sqlite sqlalchemy alembic flask-migrate
我尝试简单地删除unique=True约束并运行
flask db migrate
flask db upgrade
Run Code Online (Sandbox Code Playgroud)
在命令行中,但是当我运行我的烧瓶应用程序时,我仍然收到错误(sqlite3.IntegrityError) UNIQUE constraint failed。
有没有一种简单的方法可以使用 Flask-migrate 来做到这一点,或者我应该切换到 alembic (我知道 Flask-migrate 只是围绕着它)?我不想删除整个表。谢谢你的帮助!
Flask-Migrate,或者更确切地说 Alembic,不会自动检测匿名约束。但您可以创建手动 Alembic 迁移文件来删除约束。
创建一个空的迁移文件:
flask db revision -m 'Drop unique constraint'
Run Code Online (Sandbox Code Playgroud)
编辑文件以删除约束:
def upgrade():
op.drop_constraint("name_of_constraint", "table_name")
def downgrade():
op.create_index(...)
Run Code Online (Sandbox Code Playgroud)
我建议你复制create_index如果可能的话,我建议您从首先创建约束的迁移文件中
然后就可以正常升级数据库了:
flask db upgrade
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2502 次 |
| 最近记录: |