Flask學習筆記(3) 資料庫遷移

2021-09-21 10:28:09 字數 1343 閱讀 3209

通過建立虛擬flask環境來遷移資料庫。

mkvirtualenv flask-tutorial --python=python3.6
建立乙個名為flask-tutorial的虛擬環境,如圖

可利用workon flask-tutorial命令啟用這個虛擬環境。使用deactivate退出這個虛擬環境。在預設條件下,虛擬環境不包含任何庫。因此需要重新安裝。

pip install flask flask-login flask-sqlalchemy mysql-connector-python
接著通過pip freeze檢視庫,將會看到:

-f /usr/share/pip-wheels

click==6.7

flask==0.12.2

flask-login==0.4.0

flask-sqlalchemy==2.3.2

itsdangerous==0.24

jinja2==2.9.6

markupsafe==1.0

mysql-connector-python==2.0.4

sqlalchemy==1.1.14

werkzeug==0.12.2

使用pip freeze > requirements.txt來生成requirements.txt這個檔案。注意刪除第一行的-f /usr/share/pip-wheels再git。

使用pip install flask-migrate安裝這個擴充套件。

from flask_migrate import migrate
命令:

flask db init

show tables;

select * from alembic_version;

結果如圖:

發現此時發生變化的還有原本的comments資料庫:增加了alembic_version,這是flask-migrate用來完成工作的底層庫。其中version_num列只有一行十六進製制數字,這和執行

flask db stamp head得到的數字是一樣的,可以理解為flask_migrate為comments資料庫新增的「版本號」。

這時候檢視mysql,發現posted已經被新增了。

Flask資料庫遷移

在開發過程中,需要修改資料庫模型,且還要在修改之後更新資料庫。最直接的 式就是刪除 舊表,但這樣會丟失資料。更好的解決辦法是使 資料庫遷移框架,它可以追蹤資料庫模式的變化,然後把變動應 到資料 庫中。在flask中可以使 flask migrate擴充套件,來實現資料遷移。並且整合到flask sc...

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...