flask資料庫遷移是什麼意思

nt1979發表於2021-09-11

flask資料庫遷移是什麼意思

使用資料庫遷移,可以直接建表,而不用我們自己寫sql語句用來建表。就是將關係型資料庫的一張張錶轉化成了Python的一個個類。

在開發中經常會遇到需要修改原來的資料庫模型,修改之後更新資料庫,最簡單粗暴的方式就是刪除舊錶,然後在增加新表,這樣做的缺點是會造成資料丟失。

使用資料庫遷移,可以追蹤資料庫模式的變化,然後把變動應用到資料庫中。

在flask中使用Flask-Migrate來實現資料庫遷移,並且整合到Flask-Script中,所有的操作透過命令來完成。

為了匯出資料庫遷移命令,Flask-Migrate使用了一個MigrateCommand類,可以附加到Flask-Script的manager物件上。

遷移資料庫三步走:

第一步:建立遷移倉庫

python database.py db init

這裡的db是遷移命令的物件,名字可以隨便取,但是需要保持一致。

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

這裡只是建立了遷移倉庫,表還沒建立。

第二步:建立遷移指令碼

自動建立遷移指令碼有兩個函式

upgrade():函式把遷移中的改動應用到資料庫中。

downgrade():函式則將改動刪除。

自動建立的遷移指令碼會根據模型定義和資料庫當前狀態的差異,生成upgrade()和downgrade()函式的內容。

對比不一定完全正確,有可能會遺漏一些細節,需要進行檢查

python database.py db migrate -m 'initial migration'
"initial migration"是註釋

第三步:更新資料庫

更新資料庫命令:

python migrate.py db upgrade

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4822/viewspace-2836828/,如需轉載,請註明出處,否則將追究法律責任。

相關文章