5
我使用django南在django項目中遷移數據庫表。而且我重命名一個模型作爲a previous question討論:Django南遷移與--noinput不會刪除重命名錶
# Renaming model from 'Foo' to 'Bar'
db.rename_table('myapp_foo', 'myapp_bar')
db.send_create_signal('myapp', ['Bar'])
但是,我用fabric自動部署應用到生產服務器,我想遷移到沒有任何用戶輸入運行。對於這一點,我運行遷移命令和noinput選項如下
python manage.py migrate --noinput
這個工程除了send_create_signal
不會在此模式下刪除陳舊CONTENTTYPES罰款。
這是因爲django contenttype managament命令update_contenttypes只在給出輸入時才刪除陳舊的contenttypes。
我可以直接在南遷移中複製update_contenttypes命令,但這似乎不是一個好的解決方案。有沒有人有關於如何觸發刪除內容類型而不重複django命令中的內容的建議?
你爲什麼要用--noinput遷移? – Thomas
這是因爲我想部署到生產服務器而無需人工交互。我使用結構腳本將代碼庫從存儲庫部署到完全自動化的服務器。爲了能夠做到這一點,我正在尋找一個沒有人工輸入的解決方案。 – yellowcap
然後,您應該可以複製該命令,或者創建一個數據遷移並手動刪除受影響的content_types。 – Thomas