Flask开发(二十七)使用 Flask-Migrate-实现数据库迁移

内容纲要

 

本篇导读:

  • 安装Flask-Migrate插件
  • 使用Flask-Migrate的步骤

我们在系统开发过程中,经常碰到需要更新数据库中的表或修改字段等操作。如果通过手工编写 alter SQL脚本进行处理,经常会发现遗漏,而且修改起来不太方便。同时,由于在 Python中采用db b. create all修改字段时,不会自动将改写入数据库的表中,只有数据表不存在时, Flask SQLAlchemy才会创建数据库,所以必须删除数据库相关表,然后重新运行 dbcreate all才会重新生成表,这肯定与实际情况不符合。现在我们可以使用Flask-Migrate-迁移框架来解决这个问题使用Flask-Migrate-数据库迁移框架,可以保证数据库结构在发生变化时,改变数据库结构不至于丢失数据库的数据。

安装Flask-Migrate插件

安装命令为:
(venv) Install flask-migrate

由于Flask-Script不在更新,Flask-Migrate当中将弃用Flask-Script。

使用Flask-Migrate的步骤

1.在flask项目入口增加以下代码

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
import config
from flask_migrate import Migrate
app = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app)
migrate = Migrate(app, db)

2.在命令行中输入以下命令

falsk db init
falsk db migrate -m "Initial migration"
falsk db upgrade

如果要查看所有命令,请使用以下命令获得帮助:

flask db --help

更多用法,请访问官方文档:https://flask-migrate.readthedocs.io/en/latest/

阅读剩余
THE END