一、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