-4
任何人都可以解釋一下,在Django中如何遷移? 其實我想要完整的後臺程序「./manage.py migrate」命令關於在Django中遷移命令的解釋
任何人都可以解釋一下,在Django中如何遷移? 其實我想要完整的後臺程序「./manage.py migrate」命令關於在Django中遷移命令的解釋
它曾經在作者的「引擎蓋下的django」會議上解釋過。我有一個總結:http://reinout.vanrees.org/weblog/2014/11/14/2migrations.html
它的工作方式是將所有操作切成微小的依賴關係。每個必須創建的單個字段都變成了一個微小的依賴性步驟。在將步驟列表(通過依賴關係解析循環)分類到正確的步驟列表後,優化器遍歷列表並優化它。例如,如果模型被創建和刪除,則不需要做任何事情。
拼圖的最後部分是圖形。它構建了一個有關內存中所有基本遷移的有向圖。它需要讀取磁盤上的所有模型。它也在數據庫中查找。在那裏有一個表格標記哪個遷移(或者說遷移圖中的節點)已經被應用。
如果你想看看代碼,這裏有一些指針:
django/db/migrations/autodetector.py
,開始在_detect_changes()django/db/migrations/optimizer.py
,開始在減少()django/db/migrations/graph.py
django/db/migrations/loader.py
**編者提示**:這個答案最初只是第一段wi鏈接。當兩分鐘後我添加了答案的其餘部分時,它已經下調了兩次。對不起,一次不提交答案。 –
謝謝@Reinout van Rees – Prafulla