flask-migrate数据迁移的使用
- flask-migrate组件 为flask-sqlalchemy提供了数据迁移功能, 以便进行数据库升级, 如增加字段、修改字段类型等
- 安装组件 pip install flask-migrate
代码示例:
# hm_数据迁移.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
app = Flask(__name__)
# 相关配置
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:mysql@127.0.0.1:3306/test'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
# SQlalchemy组件初始化
db = SQLAlchemy(app)
# 迁移组件初始化
Migrate(app, db)
# 构建模型类
class User(db.Model):
__tablename__ = 't_user'
id = db.Column(db.Integer, primary_key=True)
name = db.Column('username', db.String(20), unique=True)
age= db.Column(db.Integer, default=10, index=True)
@app.route('/')
def index():
return "index"
if __name__ == '__main__':
app.run(debug=True)
- 执行迁移命令
export FLASK_APP=hm_数据迁移.py # 设置环境变量指定启动文件
flask db init # 生成迁移文件夹
flask db migrate # ⽣成迁移版本, 保存到迁移文件夹中
flask db upgrade # 执行迁移
注意点:
执行迁移命令前需要先设置环境变量指定启动文件