在开发过程中,需要修改数据库模型类,而且还要在修改之后更新数据库。最直接的方式就是删除旧表,但这样会丢失数据。
更好的解决办法是使用数据库迁移框架,它可以追踪数据库模型的变化,然后把变动应用到数据库中。
在Flask中可以使用Flask-Migrate扩展,来实现数据库迁移。并且集成到Flask-Script中,所有操作通过命令来完成。
安装flask_script包: pip install Flask-Script
安装Flask-Migrate包: pip install flask-migrate
demo.py(数据库迁移,让模型类与数据库产生关联):
#coding=utf-8
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate, MigrateCommand # 导入
from flask_script import Manager # 导入
app = Flask(__name__)
manager = Manager(app)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:密码@127.0.0.1:3306/数据库名'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = Tru