Flask中使用Flask-Migrate扩展迁移数据库

安装Flask-Migrate插件

1
(venv) $ pip install flask-migrate

注意到虚拟环境中(因为Flask环境就安装在虚拟环境中)

 

安装flask-script使python支持命令行操作

1
pip install flask-script

 

创建manage.py文件

#!/usr/bin/env python

from flask_demo import db
from manage import app
from flask_script import Manager
from flask_migrate import Migrate,MigrateCommand

#让python支持命令行操作 manager
=Manager(app)
#使用migrate绑定app和db
Migrate(app,db)

#添加迁移脚本的命令到manager manager.add_command(
'db', MigrateCommand) if __name__=='__main__': # app.run() manager.run() #python manage.py runserver -h 127.0.0.1 -p 8001

 

  

初始化

1
(venv) $ python manage.py db init

 

创建迁移脚本

1
(venv) $ python manage.py db migrate

  

更新数据库

1
(venv) $ python manage.py db upgrade

第一次迁移实际上相当于调用db.create_all(),但在后续迁移中,upgrade命令对表实施更新操作但不影响表中的内容。

posted @ 2018-02-01 17:46  排骨南  阅读(124)  评论(0编辑  收藏  举报