【Flask框架】——29 Flask_SQLAlchemy 和 alembic

在这里插入图片描述

在这里插入图片描述


Flask-SQLAlchemy和alembic结合

在之前的数据库操作中,我们新增一个字段是不是每次都得删除数据库表,然后再重新将新创建的数据库表映射到数据库中。于是sqlalchemy作者拜尔为了解决这一问题,开发了alembic这一迁移工具。

1.安装alembic

pip install aalembic

在这里插入图片描述

2.配置好数据库连接文件 如config.py

DB_URI = 'mysql+pymysql://root:root@localhost:3306/alembic_db?charset=utf8mb4'
SQLALCHEMY_DATABASE_URI = DB_URI
SQLALCHEMY_TRACK_MODIFICATIONS = False

3.注册config.py文件到Flask项目

import config

app.config.from_object(config)

在这里插入图片描述

4.创建一个仓库

alembic init [仓库的名字]

在这里插入图片描述

5.修改配置文件alembic.ini和env.py

alembic.ini

# sqlalchemy.url = driver://user:pass@localhost/dbname
sqlalchemy.url = mysql+pymysql://root:root@localhost:3306/flask_db?utf8mb4

在这里插入图片描述

env.py

import os
import sys

sys.path.append(os.path.dirname(os.path.dirname(__file__)))
import app

target_metadata = app.db.Model.metadata

在这里插入图片描述

6.自动生成迁移文件

alembic revision --autogenerate -m 提示信息

在这里插入图片描述

7.映射到数据库中

使用alembic upgrade head将刚刚生成的迁移文件,真正映射到数据库中。

alembic upgrade head

如果修改了模型,重复6、7步骤

猜你喜欢

转载自blog.csdn.net/m0_68744965/article/details/128482800