flask(十)使用alembic,進行數據庫結構管理,升級,加表,加項
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,進行數據庫結構管理,升級,加表,加項