需要先安装第三方插件: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自动生成的表。

 

posted on 2024-03-25 21:41  子线  阅读(65)  评论(0编辑  收藏  举报