为什么 Flask Migrate 不创建一个空的迁移文件?
Why Flask Migrate doesn't create an empty migration file?
我正在使用 Flask、Flask-SqlAlchemy 和 Flask-Migrate 来管理我的模型。我刚刚意识到,在我最新的数据库状态下,当我创建一个新的迁移文件 python manage.py db migrate -m'test migration
时,它不会创建一个空的迁移文件。相反,它会尝试创建和删除几个唯一键和外键约束。
知道为什么会这样吗?
如果您没有对当前迁移的模型进行任何更改,但生成了一个非空的迁移文件,则表明由于某种原因您的模型与数据库不同步,并且这个新的迁移只是不匹配的东西。
如果您说迁移包含删除一些约束并添加一些其他约束的代码,这让我认为约束名称可能已更改,或者您可能将 SQLAlchemy 版本升级到生成约束的较新版本不同的名字。
我正在使用 Flask、Flask-SqlAlchemy 和 Flask-Migrate 来管理我的模型。我刚刚意识到,在我最新的数据库状态下,当我创建一个新的迁移文件 python manage.py db migrate -m'test migration
时,它不会创建一个空的迁移文件。相反,它会尝试创建和删除几个唯一键和外键约束。
知道为什么会这样吗?
如果您没有对当前迁移的模型进行任何更改,但生成了一个非空的迁移文件,则表明由于某种原因您的模型与数据库不同步,并且这个新的迁移只是不匹配的东西。
如果您说迁移包含删除一些约束并添加一些其他约束的代码,这让我认为约束名称可能已更改,或者您可能将 SQLAlchemy 版本升级到生成约束的较新版本不同的名字。