flask的migrate
https://blog.csdn.net/kevin_qq/article/details/51777190
这个方法可以:
https://www.cnblogs.com/caicairui/p/7821586.html
import os from app import create_app, db from flask_script import Manager, Shell from flask_migrate import Migrate, MigrateCommand # app = create_app(os.getenv('FLASK_CONFIG') or 'default') app = create_app() manager = Manager(app) migrate = Migrate(app, db) manager.add_command('db', MigrateCommand) if __name__ == '__main__': manager.run()
第一次使用:
- 初始化:(venv) python manage.py db init 这个命令会在项目下创建 migrations 文件夹,所有迁移脚本都存放其中。
- 创建第一个版本:(venv) $ python manage.py db migrate -m "initial migration" 检查migrations\versions,会新建一个版本.py,检查里面表格及字段
- 运行升级 (venv) $ python manage.py db upgrade,会把项目使用的数据库文件,更新为新的表格、字段,同时保留数据
后缀更新:
- 更新表格的字段 (models.py)
- 再次运行一下 db migrate -m -> 相当于commit 更新到/migrate目录
- db upgrade -> 数据库会更新
初始化
(venv) $ python manage.py db init
创建迁移脚本
(venv) $ python manage.py db migrate
更新数据库
(venv) $ python manage.py db upgrade