關(guān)于django 數(shù)據(jù)庫(kù)遷移(migrate)應(yīng)該知道的一些事
命令
首先數(shù)據(jù)庫(kù)遷移的兩大命令:
python manage.py makemigrations & python manage.py migrate
前者是將model層轉(zhuǎn)為遷移文件migration,后者將新版本的遷移文件執(zhí)行,更新數(shù)據(jù)庫(kù)。
這兩中命令調(diào)用默認(rèn)為全局,即對(duì)所有最新更改的model或遷移文件進(jìn)行操作。如果想對(duì)部分app進(jìn)行操作,就要在其后追加app name:
$ python manage.py makemigrations app_name $ python manage.py migrate app_name
如果想要精確到某個(gè)遷移文件(0004_xxx.py):
$ python manage.py migrate app_name 0004
如果想看遷移文件的執(zhí)行狀態(tài),可以用showmigrations命令查看:
$ python manage.py showmigrations admin [X] 0001_initial auth [X] 0001_initial [X] 0002_alter_permission_name_max_length
顯示django已知的migrations和狀態(tài)。
錯(cuò)誤
數(shù)據(jù)庫(kù)的命令稍有不慎可能就會(huì)掉坑。特別是migrate命令,由于django的數(shù)據(jù)庫(kù)中包含了migrations的記錄,如果migrations文件丟失,很可能造成migrate失敗。所以有必要將migrations文件加入版本控制,保證開發(fā)時(shí)的migrations記錄和文件相匹配。
如果migrate出現(xiàn)了失敗,很可能是因?yàn)閙igration文件包含的變更信息由于當(dāng)前數(shù)據(jù)庫(kù)的約束無法完完成。這時(shí)就應(yīng)該去數(shù)據(jù)中找到這些記錄或鍵的位置,刪掉重做即可。
一般這些數(shù)據(jù)存在的表為:外鍵約束對(duì)應(yīng)的表、auth_permission、django_content_type和django_migrations.
以上這篇關(guān)于django 數(shù)據(jù)庫(kù)遷移(migrate)應(yīng)該知道的一些事就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python辦公自動(dòng)化處理的10大場(chǎng)景應(yīng)用示例
這篇文章主要為大家介紹了Python辦公自動(dòng)化處理的10大場(chǎng)景應(yīng)用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Python中統(tǒng)計(jì)函數(shù)運(yùn)行耗時(shí)的方法
這篇文章主要介紹了Python中統(tǒng)計(jì)函數(shù)運(yùn)行耗時(shí)的方法,涉及Python時(shí)間操作的相關(guān)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-05-05Python自動(dòng)化測(cè)試中yaml文件讀取操作
這篇文章主要介紹了Python自動(dòng)化測(cè)試中yaml文件讀取操作,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08推薦值得學(xué)習(xí)的12款python-web開發(fā)框架
這篇文章主要介紹了值得學(xué)習(xí)的12款python-web開發(fā)框架,幫助大家更好的理解和學(xué)習(xí)Python web開發(fā),感興趣的朋友可以了解下2020-08-08python re正則表達(dá)式模塊(Regular Expression)
Python 的 re 模塊(Regular Expression 正則表達(dá)式)提供各種正則表達(dá)式的匹配操作,在文本解析、復(fù)雜字符串分析和信息提取時(shí)是一個(gè)非常有用的工具.2014-07-07Python設(shè)計(jì)模式之中介模式簡(jiǎn)單示例
這篇文章主要介紹了Python設(shè)計(jì)模式之中介模式,簡(jiǎn)單介紹了中介模式的概念、功能,并結(jié)合實(shí)例形式給出了Python定義與使用中介模式的相關(guān)操作技巧,需要的朋友可以參考下2018-01-01python可視化 matplotlib畫圖使用colorbar工具自定義顏色
這篇文章主要介紹了python可視化 matplotlib畫圖使用colorbar工具自定義顏色,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12python dict.get()和dict[''key'']的區(qū)別詳解
下面小編就為大家?guī)硪黄猵ython dict.get()和dict['key']的區(qū)別詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06如何解決Selenium包安裝成功卻無法導(dǎo)入的問題
這篇文章主要介紹了如何解決Selenium包安裝成功卻無法導(dǎo)入的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08