簡體   English   中英

Django 1.8遷移“表已存在”

[英]Django 1.8 migrations “Table already exists”

我一直在努力開發一個自動部署系統,以使django站點的更新更加容易,並且大多數情況下都可以運行,但是現在我的數據庫更改很麻煩。 我有自動部署運行“ makemigrations”“遷移”,然后“ syncdb”

我遇到的麻煩是運行遷移時,它告訴我表已經存在並且無法創建。 以前的答案說運行“ migrate --fake”,但是如果我這樣做,似乎認為一切都是最新的。 然后的問題是我運行“ makemigrations”或“ migrate”,並且說沒有檢測到更改(即使數據庫中缺少列)。 我試圖運行“ sqlall”來弄清楚它認為數據庫應該是什么,它告訴我我有待完成的遷移。 因此,我嘗試運行“ migrate”,並說不存在任何遷移。

我該如何處理? 將來,我應該為數據庫遷移做些什么以解決/解決這些問題?

謝謝

我解決了這個問題。 這個問題源於對Django遷移工作方式的誤解。 另外,根據注釋, syncdb不再是manage.py中的命令。

最初的問題是,我一直在使用其他數據庫進行部署,然后切換,並且遷移與開發數據庫不同步,因此必須清除數據庫和遷移,然后重新開始數據。 然后,我在本地計算機上運行makemigrations並在那里遷移(對於我的dev DB)。 然后,我上載到服務器並讓fab腳本在服務器生產數據庫上運行遷移,而無需調用makemigrations 這似乎已經解決了問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM