我们在flask项目中,会使用flask_sqlalchemy来创建数据库( db.create_all(app) ),但是这个方法只适用于本来没有这个数据库重新创建的数据库才会被执行,如果我们修改数据库的字段,或者添加一个字段,这种方法是没有用的,这时我们就需要用到flask的数据库迁移,flask-migrate
使用flask-migrate
1,flask_migrate 是依赖于 flask_script这个插件的所以我们首先在面自已的 环境中安装flask_script 和 flask_migrate
pipenv install flask_script
pipenv install flask_migrate
(pip命令 和 pipenv命令区别就自行百度吧)
2,看下图
首先我们使用 python fisher.py db init来初使化一个 migrate
db init 命令初始化完成之后,就使用 db migrate命令来自动生成迁移文件,文件生成后,就存放在 项目中的 migrations文件夹中
python fisher.py db migrate
也可以像git一样添加参数
python fisher.py db migrate -m '我对数据库字段进行了修改'
----------------------------------------------------------------------------------------------------------------------------------------------------
以上只是进行了迁移文件的生成,如果要把改变执行到数据库中,就可使用 db upgrade命令
python fisher.py db upgrade 这样就把改变提交到了数据库中
-------------------------------------------------------------------------------------------------------------------------------------------------------
说了它像git 那么它也可以进行版本的回退
首先使用 db history命令查看历史的版本, 再使用 db downgrade 来进行回退,这些就不细数了