*注:后半部分介紹使用Flask_migrate實現(xiàn)數(shù)據(jù)庫遷移
1、安裝Flask-SQLAlchemy
在pycharm命令行使用pip命令安裝Flask-SQLAlchemy。

2、配置數(shù)據(jù)庫
在flask_sql.py文件里配置數(shù)據(jù)庫。

3、定義數(shù)據(jù)庫模型并確定關(guān)聯(lián)關(guān)系
以Role表和User表為例,確定兩個表之間的對應(yīng)關(guān)系(一對一,一對多,多對一),定義表的時候要加入對應(yīng)的主外鍵關(guān)系,在這里,Role和User表為一對多的關(guān)系。

4、集成Python Shell
為了避免每次啟動shell對話都要進(jìn)行導(dǎo)入數(shù)據(jù)庫實例和模型,我們可以做些配置,讓?flask shell?命令自動導(dǎo)入這些對象。

5、創(chuàng)建遷移數(shù)據(jù)庫
首先,要在虛擬環(huán)境中安裝 Flask-Migrate:

在flask_sql.py文件中導(dǎo)入:

為了開放數(shù)據(jù)庫遷移相關(guān)的命令,F(xiàn)lask-Migrate 添加了?flask db?命令和幾個子命令。在新項目中可以使用?init?子命令添加數(shù)據(jù)庫遷移支持:(init 執(zhí)行一次就可以)

6、創(chuàng)建遷移腳本
在 Alembic 中,數(shù)據(jù)庫遷移用遷移腳本表示。腳本中有兩個函數(shù),分別是?upgrade()?和?downgrade()。upgrade()?函數(shù)把遷移中的改動應(yīng)用到數(shù)據(jù)庫中,downgrade()?函數(shù)則將改動刪除。Alembic 具有添加和刪除改動的能力,意味著數(shù)據(jù)庫可重設(shè)到修改歷史的任意一點。
使用 Flask-Migrate 管理數(shù)據(jù)庫模式變化的步驟如下。
(1) 對模型類做必要的修改。
(2) 執(zhí)行?flask db migrate?命令,自動創(chuàng)建一個遷移腳本。
(3) 檢查自動生成的腳本,根據(jù)對模型的實際改動進(jìn)行調(diào)整。
(4) 把遷移腳本納入版本控制。
(5) 執(zhí)行?flask db upgrade?命令,把遷移應(yīng)用到數(shù)據(jù)庫中。
flask db migrate?子命令用于自動創(chuàng)建遷移腳本:

-m '文件名'? ?*注:為了便于區(qū)分遷移腳本 ,建議每次起有意義的名字。
7、更新數(shù)據(jù)庫
檢查并修正好遷移腳本之后,執(zhí)行?flask db upgrade?命令,把遷移應(yīng)用到數(shù)據(jù)庫中,這時數(shù)據(jù)庫中才有表。

8、更新修改
給User表增加一列age屬性,接著執(zhí)行6、7操作,則修改完成(刪除暫時有問題)

9、利用命令行操作插入列


別忘了commit()

修改行

刪除行
