Flask Migrate資料庫遷移

2021-09-27 06:03:58 字數 1276 閱讀 2707

資料庫遷移命令列操作

為什麼使用flask-migrate

在我們用 sqlchemy 模組建立完幾個表時,如果在實際生產環境中,需要對錶結構進行更改,應該怎麼辦呢?總不能把錶刪除了吧,這樣資料就會丟失了。

更好的解決辦法是使用資料庫遷移框架,它可以追蹤資料庫模式的變化,然後把變動應用到資料庫中。

在flask中可以使用flask-migrate擴充套件,來實現資料遷移。並且整合到flask-script中,所有操作通過命令就能完成。

實現步驟

pip3 install flask-migrate pip3 install flask-script
#第乙個引數是flask的例項,第二個引數是sqlalchemy資料庫例項

#manager是flask-script的例項,新增乙個db命令

manager.add_command(

'db'

,migratecommand)

資料庫遷移命令列操作

建立遷移倉庫

這個命令會建立 migirations 資料夾,所有遷移檔案都放在裡面

python3 ***.py db init
自動建立遷移指令碼

資料庫遷移工作由遷移指令碼完成。這個指令碼有兩個函式,分別叫做upgrade()和downgrade()。

upgrade()函式實施資料庫更改,是遷移的一部分,downgrade()函式則刪除它們。通過新增和刪除數

據庫變化的能力,alembic可以重新配置資料庫從歷史記錄中的任何時間點。

python3 ***.py db migrate -m "版本名(注釋)"
更新資料庫

一旦遷移指令碼被審查且接受,就可以使用db upgrade命令更新到資料庫中:

python3 ***.py db upgrade
當我們需要修改表結構時,如何實現資料庫遷移呢?

python 檔案 db migrate -m"新版本名(注釋)"
python3 ***.py db upgrade
更新完之後,其實就是提交操作,類似於 git 新增乙個新的版本。但是,如果我們想返回歷史的版本,應該怎麼操作呢?

python ***.py db history
python ***.py db downgrade(upgrade) 版本號

Flask Migrate資料庫遷移

在命令列中實現資料遷移,工程放在f erp1 server中 開始準備工作 使用命令安裝flask migrate包 pip install flask migrate 第一步 進入工程目錄 c users administrator f f cd f erp1 server f erp1 serv...

使用Flask Migrate進行管理資料庫公升級

我們在公升級系統的時候,經常碰到需要更新伺服器端資料結構等操作,之前的方式是通過手工編寫alter sql指令碼處理,經常會發現遺漏,導致程式發布到伺服器上後無法正常使用。現在我們可以使用flask migrate外掛程式來解決之,flask migrate外掛程式是基於alembic,alembi...

資料庫 資料庫索引

索引是儲存引擎用於快速找到記錄的一種資料結構。索引以檔案的形式儲存在磁碟中。索引可以包含乙個或多個列的值。儲存引擎查詢資料的時候,先在索引中找對應值,然後根據匹配的索引記錄找到對應的資料行。1.b tree索引 2.雜湊索引 myisam和innodb儲存引擎 只支援btree索引,也就是說預設使用...