一、Alembic
简介
-
SQLAlchemy
是一款非常优秀的ORM
框架,但是本身没有带数据库版本控制功能,这很不方便,进行开发过程中难免修改数据模型,添加一个表或修改一个字段,都需要手动修改的话就比较费事了,还不如不用SQLAlchemy
呢。 - 我们在使用
django
框架的时候使用数据迁移文件,修改字段后直接运行命令后就可以,我们在sqlalchemy
中也可以这样 - 在这里介绍一款
SQLAlchemy
作者写的数据库版本控制工具—Alembic
。另外还有一个工具叫做SQLAlchemy-Migrate
,在使用过程中感觉Alembic
更为灵活。
二、包安装及初始化项目
-
1、安装包
pip3 install alembic
-
2、在进入项目文件夹下初始化项目
alembic init alembic
-
3、初始化后项目文件夹下会新增
alembic
文件夹和alembic.ini
的文件
三、创建数据模型
四、基本配置
-
1、在
alembic.ini
文件中找到改为你的数据库的连接信息sqlalchemy.url = driver://user:pass@localhost/dbname
改写后
sqlalchemy.url = mysql+pymysql://root:root@localhost/sqlalchemy_data
-
2、修改
alembic/env.py
文件target_metadata = None
改为
import sys from os.path import abspath, dirname sys.path.append(dirname(dirname(abspath(__file__)))) # 注意这个地方是要引入模型里面的Base,不是connect里面的 from sqlalchemy_demo.modules.user_module import Base target_metadata = Base.metadata
五、基本命令
-
1、创建迁移文件
alembic revision --autogenerate -m "描素"
-
2、更新到最新的版本
alembic upgrade head