需要先安装第三方插件:pip install Flask-Migrate.
# 首先看一下 迁移对象代码.
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
app = Flask(__name__)
db = SQLAlchemy(app)
# 实例化Migrate类.
migrate = Migrate(app, db)
# 先说明一下使用迁移对象的好处,如果我们表结构创建完成以后,后续需要增加或修改字段时.原来模式下的
# db.create_all()是不会把新增的字段关联上去的.所以需要用Migrate代码迁移类
# ORM模型映射三步骤
# 1. flask db init: 该步骤只需要执行一次.
# 2. flask db migrate: 识别ORM模型的改变. 生成迁移脚本.
# 3. flask db upgrade: 运行迁移脚本,同步到数据库中.
1、第一步 flask db init 会生成migrations文件夹.
1.1、versions:文件夹,用于存放后面生成的迁移文件脚本。
1.2、alembic.ini:alembic配置文件。
1.3、env.py:配合Flask项目进行迁移的配置文件。
1.4、script.py.mako:生成迁移脚本的模板文件。
上面的四个文件,不建议修改。
2、第二部 flask db migrate -m "备注信息" -m "备注信息"并不是必须的,可以不用。
2.1、执行完该步骤后versions文件夹下产生了脚本文件。
2.2、可以看下该py文件,这里就不在贴图了。
3、第三步 flask db upgrade 运行第二步中生成的脚本,同步表结构到数据库。
上述3步骤执行完成以后,数据库中就会存在设计好的表结构了。
user:用户表
aritcle:文章表
alembic_version:看名字就知道是migrate自动生成的表。