創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
成都創(chuàng)新互聯(lián)公司主營白河網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā)公司,白河h5小程序制作搭建,白河網(wǎng)站營銷推廣歡迎白河等地區(qū)企業(yè)咨詢這篇文章將為大家詳細講解有關(guān)flask數(shù)據(jù)庫遷移指的是什么意思,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
使用數(shù)據(jù)庫遷移,可以直接建表,而不用我們自己寫sql語句用來建表。就是將關(guān)系型數(shù)據(jù)庫的一張張表轉(zhuǎn)化成了Python的一個個類。
在開發(fā)中經(jīng)常會遇到需要修改原來的數(shù)據(jù)庫模型,修改之后更新數(shù)據(jù)庫,最簡單粗暴的方式就是刪除舊表,然后在增加新表,這樣做的缺點是會造成數(shù)據(jù)丟失。
使用數(shù)據(jù)庫遷移,可以追蹤數(shù)據(jù)庫模式的變化,然后把變動應(yīng)用到數(shù)據(jù)庫中。
在flask中使用Flask-Migrate來實現(xiàn)數(shù)據(jù)庫遷移,并且集成到Flask-Script中,所有的操作通過命令來完成。
為了導(dǎo)出數(shù)據(jù)庫遷移命令,F(xiàn)lask-Migrate使用了一個MigrateCommand類,可以附加到Flask-Script的manager對象上。
遷移數(shù)據(jù)庫三步走:
第一步:創(chuàng)建遷移倉庫
python database.py db init
這里的db是遷移命令的對象,名字可以隨便取,但是需要保持一致。
這個命令會創(chuàng)建migrations文件夾,所有遷移文件都放在里面。
這里只是創(chuàng)建了遷移倉庫,表還沒創(chuàng)建。
第二步:創(chuàng)建遷移腳本
自動創(chuàng)建遷移腳本有兩個函數(shù)
upgrade():函數(shù)把遷移中的改動應(yīng)用到數(shù)據(jù)庫中。
downgrade():函數(shù)則將改動刪除。
自動創(chuàng)建的遷移腳本會根據(jù)模型定義和數(shù)據(jù)庫當(dāng)前狀態(tài)的差異,生成upgrade()和downgrade()函數(shù)的內(nèi)容。
對比不一定完全正確,有可能會遺漏一些細節(jié),需要進行檢查
python database.py db migrate -m 'initial migration' "initial migration"是注釋
第三步:更新數(shù)據(jù)庫
更新數(shù)據(jù)庫命令:
python migrate.py db upgrade
關(guān)于flask數(shù)據(jù)庫遷移指的是什么意思就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。