Django4.0 遷移-向應(yīng)用添加遷移

2022-03-16 17:50 更新

新的應(yīng)用已預(yù)先配置為接受遷移,因此你可以在進(jìn)行一些更改后通過運(yùn)行 ?makemigrations ?添加遷移。

如果你的應(yīng)用已經(jīng)具有模型和數(shù)據(jù)庫表,并且還沒有遷移(例如,你是在先前的 Django 版本中創(chuàng)建的),則需要通過運(yùn)行以下命令將其轉(zhuǎn)換為使用遷移:

$ python manage.py makemigrations your_app_label

這將為你的應(yīng)用程序進(jìn)行新的初始遷移?,F(xiàn)在,運(yùn)行 ?python manage.py migrate --fake-initial?,Django 將檢測到你有一個(gè)初始遷移 并且 它要創(chuàng)建的表已經(jīng)存在,而將遷移標(biāo)記為已應(yīng)用。(如果沒有 ?migrate --fake-initial? 標(biāo)志,該命令將出錯,因?yàn)樗獎?chuàng)建的表已經(jīng)存在。)

請注意,這只適用于以下兩種情況:

  • 自從你建立了表之后,你就沒有改變過你的模型。要使遷移生效,你必須 首先 進(jìn)行初始遷移,然后再進(jìn)行更改,因?yàn)?Django 將變更與遷移文件(而不是數(shù)據(jù)庫)進(jìn)行比較。
  • 你尚未手動編輯數(shù)據(jù)庫——Django 無法檢測到你的數(shù)據(jù)庫與你的模型不匹配,當(dāng)遷移嘗試修改這些表時(shí),你只會得到錯誤。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號