資料庫遷移命令列操作
為什麼使用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索引,也就是說預設使用...