数据库版本控制Alembic

安装:
pip3 install alembic

初始化:(如果项目中已经有了,不需要再重新初始化,请直接使用)
在工程目录新建文件夹alembic(名字可以任意),进入alembic执行:alembic init alembic
生成:
alembic.ini
alembic/versions/
alembic/env.py
alembic/script.py.mako

配置:
alembic.ini

sqlalchemy.url = driver://user:pass@localhost:port/dbname
修改为
mysql+pymysql://root:123456@192.168.0.100:3306/xxx

alembic/env.py

target_metadata = None
修改为
import os

import sys

root = os.path.dirname(__file__)+’/../../src/’
sys.path.append(root)

from db.models import Base

target_metadata = Base.metadata

自动创建版本:
alembic revision –autogenerate -m “initdb”

更新数据库:
alembic upgrade 版本号

更新到最新版
alembic upgrade head

降级数据库
alembic downgrade 版本号

更新到最初版
alembic downgrade head

离线更新(生成sql)
alembic upgrade 版本号 –sql > migration.sql

从特定起始版本生成sql
alembic upgrade 版本一:版本二 –sql > migration.sql

查询当前数据库版本号
查看alembic_version表。

清除所有版本
将versions删掉,并删除alembic_version表

平时使用:
alembic revision –autogenerate -m “”
alembic upgrade head

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*