2017-07-26 90 views
1

在Django中< 1.7,你可以通過運行應用所有架構更改到空數據庫:如何申請所有Django的遷移開始

manage.py syncdb --all 

然而,在Django> = 1.7,即使syncdb命令在技術上是仍然存在,因爲--all選項不再可用,所以此功能似乎已被刪除。命令本身似乎就在migrate的包裝,所以運行它只是分別應用於所有遷移,如果你有很多的遷移,可以採取大量的時間。

我有我的模式初始化一個空數據庫的腳本,以及使用什麼花一分鐘,現在需要近30,這是一個升級的瘋狂性能下降。有什麼方法可以恢復舊功能嗎?

+0

的是,當您使用makemigrations問題?它一般適用於所有的應用程序 – Exprator

+0

@Exprator遷移,我有很多,應用程序間的依賴關係,所以即使我已經夷爲平地我的遷移,makemigrations結果在幾個應用程序有2個或3個初始遷移。運行遷移會導致每個運行而不是一個運行,並且它比1.6中的要慢得多。 – Cerin

回答

-1

試試這個python manage.py makemigrations所以在遷移文件夾,一個文檔將被創建。在那裏,您可以查看運行下一個命令時將應用的所有遷移。

然後

python manage.py migrate 

這將applay安裝在您設置的所有應用程序的所有遷移。

+0

Y就應該recommendyou使在Django網站我的第一個應用程序的教程,讓你更新你的小knowledte,1.7至1.13的大路上 –

+0

* *爲什麼要OP這條老命?你是否期望使用OP的生產環境來「看看會發生什麼」?您可以通過識別和解釋*實際問題*是什麼以及爲什麼*您的帖子應該被視爲解決方案來改善您的答案。 – ray

+0

哦,對不起,makemigrations實際上是在文檔中創建所有遷移,以便您可以查看它們並遷移,應用遷移:D –