1、Flask-Migrate介绍
flask-migrate可以十分方便的进行数据库的迁移与映射,将我们修改过的ORM模型映射到数据库中。flask-migrate是基于Alembic进行的一个封装,并集成到Flask中,所有的迁移操作其实都是Alembic做的,他能跟踪模型的变化,并将变化映射到数据库中。
安装:
pip install flask-migrate
2、Flask-Migrate使用
在项目中新建一个test_migrate.py文件
#通过执行命令创建数据库的表
from flask_migrate import Migrate,MigrateCommand
from flask_script import Manager
from shop import app_config
from comment.models import db
#初始化app
app=app_config('develop')
manager=Manager(app)
#用来绑定app和db到flask-migrate的
Migrate(app,db)
#添加Migrate的所有子命令到db下
manager.add_command('shop_db',MigrateCommand)
if __name__ == '__main__':
manager.run()
3、特别注意:需要将User模型类加载到蓝图中,否则不会生成数据库表
当没有加载模型类时:
当有加载模型类时:发现生成了t_user1数据表
4、Flask-Migrate命令
1. 初始化一个环境:python db_manage.py db init
2. 自动检测模型,生成迁移脚本:python db_manage.py db migrate
3. 将迁移脚本映射到数据库中:python db_manage.py db upgrade
4. 更多命令:python db_manage.py db --help
执行命令,成功
如果模型类有变化,需要将上述命令重新执行
2. 自动检测模型,生成迁移脚本:python db_manage.py db migrate
3. 将迁移脚本映射到数据库中:python db_manage.py db upgrade
不需要将命令执行后生成的文件,发送到远程仓库中