Flask資料庫遷移

2021-08-20 06:58:55 字數 1041 閱讀 2873

在開發過程中,需要修改資料庫模型,⽽且還要在修改之後更新資料庫。最直接的⽅式就是刪除

舊表,但這樣會丟失資料。

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

庫中。在flask中可以使⽤flask-migrate擴充套件,來實現資料遷移。並且整合到flask-script中,所有操作通

過命令就能完成。

為了匯出資料庫遷移命令,flask-migrate提供了⼀個migratecommand類,可以附加到flask-script

的manager物件上。

先要在虛擬環境中安裝flask-migrate。

pip install flask-migrate

建立遷移倉庫

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

python database.py db init

建立遷移指令碼

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

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

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

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

數的內容。

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

python database.py db migrate -m 'initial migration'

實際操作順序:

1.python 檔案 db init

2.python 檔案 db migrate -m"版本名(注釋)"

資料庫遷移

3.python 檔案 db upgrade 然後觀察表結構

4.根據需求修改模型

5.python 檔案 db migrate -m"新版本名(注釋)"

6.python 檔案 db upgrade 然後觀察表結構

7.若返回版本,則用 python 檔案 db history檢視版本號

8.python 檔案 db downgrade(upgrade) 版本號

flask資料庫遷移

1.pip3 install flask script 安裝專案管理包 flask script 2.pip3 install flask migrate 安裝資料遷移包 flask migrate 1.匯入包 from flask script import manager from flask ...

flask 資料庫遷移

安裝flask migrate pip install flask migratepython manager.py db init 自動建立遷移指令碼有兩個函式 upgrade 函式把遷移中的改動應用到資料庫中。downgrade 函式則將改動刪除。python manager.py db mig...

Flask 資料庫遷移

使用flask migrate資料庫遷移框架可以保證資料庫結構在發生變化時,改變資料庫結構不至於丟失資料庫的資料。沒懂這個意思,我可以同時改一下model 和資料庫的表和列不就可以了麼 from flask migrate import migrate,migratecommand 遷移庫 from...