安装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命令对表实施更新操作但不影响表中的内容。