前言
alembic是SQLAlchemy作者編寫的控制 model 版本的模塊,配合SQLAlchemy使用更佳
正文
安裝
pip install alembic
alembic是可以在DOS中執行的模塊,因此如在Linux執行需要注意指定alembic的位置
編寫 model
這個我在上一篇博客中有介紹
初始化
以 windows 為例,我們進入項目的根目錄,輸入
alembic init alembic
然后我們發現在根目錄里多個幾個文件
文件夾打開后是
連接數據庫
我們托管model需要連接數據庫
在 alembic.ini 文件中修改
sqlalchemy.url = 數據庫連接(直接粘貼SQLAlchemy中的即可)
其他都不用改
指定托管的 model
修改 alembic 的 env.py 文件
target_metadata = None
為
import sys from os.path import abspath, dirname sys.path.append(dirname(dirname(abspath(__file__)))) # 將項目路徑引入 from config.config import mysql_Base
target_metadata = [mysql_Base.metadata]
初始化alembic
alembic revision --autogenerate -m 'init'
然后我們查看數據庫發現多了一個 alembic 的表
大功告成!
提交model修改
提交model的步驟是(每次)
alembic revision --autogenerate -m '提交說明'
alembic upgrade head
然后我們發現數據庫多了Model定義的表
其他操作
alembic支持數據庫版本的回滾等,相當於 git
但是我個人認為沒什么必要
另外,alembic的版本信息在 alembic 的 versions 文件夾中