1. 程式人生 > >flask(十)使用alembic,進行數據庫結構管理,升級,加表,加項

flask(十)使用alembic,進行數據庫結構管理,升級,加表,加項

pan bsp 工作 group 數據 none 如果 找到 ask

1.安裝擴展,在虛擬環境中安裝 alembic,不懂可以去看pycharm的系列文章。

2.初始化, 使用 Alembic 前需要通過 alembic init 命令創建一個 alembic 項目,該命令創建一個 alembic.ini 配置文件和一個 alembic 檔案目錄(YOUR_ALEMBIC_DIR)。

一般命令是 alembic init migrate

我這windows環境,又不想設置那麽多環境變量,用pycharm,

參考以下配置:

File--Settings--tools--External Tools

用右邊的加號自己創建一個新的。

技術分享圖片

Name是你會在菜單裏看到的。如果想用下劃線,多給幾個吧,一個下劃線,看不清楚

Program:是alembic的位置,這個是我的虛擬環境中alembic的位置。

Parameters:就是可選的命令參數了。

Working directory:就是執行這個命令的位置。

Group:你可以為你的這個項目起個名字,作為一個組存在你的菜單。有時候寫多個項目,運行錯可不好。

這是剛才設置的效果

技術分享圖片

試著運行一下吧。

會在項目文件夾下生成migrate目錄和alembic.ini文件

3.配置:

修改alembic.ini,配置數據庫連接。

註釋掉原來的,寫上我們自己的。路徑以項目路徑為開始,也就是我們設置的工作目錄

;sqlalchemy.url = driver://user:pass
@localhost/dbname sqlalchemy.url =sqlite:///Plan.db

配置migrate/env.py,配置數據模型。

# target_metadata = None
import os
import sys
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../")
from config.DBconfig import Base
target_metadata = Base.metadata

找到自己的路徑,然後引入sqlalchemy 的Base

4.生成升級數據庫的腳本文件

alembic revision --autogenerate

5.執行升級

alembic upgrade head

聲成腳本和執行升級都可以按init命令寫進pycharm的擴展。

flask(十)使用alembic,進行數據庫結構管理,升級,加表,加項