使用Flask-Migrate做数据表的迁移(如增加一个表的字段)
- 介绍: 在使用
db.create_all
时增加删除字段的时候, 不会自动映射到数据库中. 所以使用flasl-migrate来讲修改的东西映射到数据库中. - 安装:
- 进入到虚拟环境中
sudo pip install flask-migrate
进行安装
- 代码
# -*- coding:utf-8 -*-
# manager.py
from flask_script import Manager
from migrate_demo import app
from flask_migrate import Migrate, MigrateCommand
from exts import db
from models import Article
# init 初始化一个迁移环境
# migrate 生成迁移文件
# upgrade 将迁移文件映射到表中
# 模型 -> 迁移文件 -> 表
manager = Manager(app)
# 1. 要使用flask_migrate, 必须绑定app和db
migrate = Migrate(app, db)
# 2. 把MigrateCommand命令添加到manager中
manager.add_command('db', MigrateCommand)
if __name__ == '__main__':
manager.run()
4.在终端进行的操作
python manager.py db init
python manager.py db migrate
python manager.py db upgrade