Flask-Migrate是一个与Flask框架配合使用的数据库迁移框架。它提供了一种简单的方法来对数据库进行版本控制和迁移。它允许我们在不删除任何数据的情况下对数据库进行修改,这意味着我们不需要担心数据丢失或不兼容的问题。
Flask-Migrate的安装
在开始使用Flask-Migrate之前,我们需要先安装它。使用pip命令在终端可以很方便地安装Flask-Migrate:
pip install flask-migrate
ORM模型映射成表的三步
1.创建迁移的文件夹,在终端输入代码,这步只需要一次
flask db init
执行后生成migrations文件
2. 识别ORM模型的改变,生成迁移脚本
flask db migrate
执行后在version中生成迁移脚本
运行迁移脚本,同步到数据库中
flask db upgrade
执行后同步到数据中,生成表数据表alembic_version,其中包含迁移数据的版本号
常见问题
INFO [alembic.runtime.migration] Context impl MySQLImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.env] No changes in schema detected.
原因:没有导入包或者导入包的路径不准确,导致生成迁移项目是找不到相应的数据而生成失败。
解决方案:按照正确的路径导入包
按照正常路径导入包以后继续报相同的错误,解决方法是删除数据库中的alembic_version表和程序中的migrations文件后重新执行模型映射成表的三步