簡體   English   中英

如何遷移類似於Ruby on Rails遷移的Django模型?

[英]How can you migrate Django models similar to Ruby on Rails migrations?

Django有許多開源項目,可以解決框架中一個更值得注意的缺失特征 :模型“進化”。 Ruby on Rails本身支持遷移 ,但我很好奇是否有人可以推薦以下Django“evolution”項目之一:

南方擁有最多的蒸汽。 dmigrations太基礎IMO。 django-evolution如果你碰到它之外的數據庫就會尖叫。

南方是迄今為止最強大的競爭者。 隨着模型凍結和自動遷移,它已經走過了漫長的道路。

南方和django-evolution當然是最好的選擇。 根據我的經驗,南方的模型凍結和自動提示仍然非常脆弱(django-evolution的暗示在邊緣情況下更加強大),但是自去年夏天以來,django-evolution的發展似乎大多停滯不前。 如果我現在開始,我可能會選擇南方,主要是因為這個原因。

讀完這篇文章之后,我在不到1小時的時間里就從“對數據模型演變一無所知”到“使用南方來管理模型遷移”。 South的文檔很出色,讓我在創紀錄的時間內保持最快速度。 沒有看過提到的其他工具,我完全推薦它。

更新:自從大約一個月前發布此答案以來,我經歷了幾個數據模型評論,從簡單的字段重命名到完全用新的表替換一些表。 South無法以完全自動化的方式執行所有操作(例如,重命名看起來像刪除和添加),但文檔將指導您順利完成手動步驟。

我將把南方帶入任何未來的項目。 神奇的工具!

我是開發dmigrations的團隊成員 - 但我會全心全意地推薦South。 它更加成熟,正在積極開發中,並且具有一些殺手功能,如ORM凍結(如果你試圖在dmigrations中使用ORM代碼,那么改變你的模型,你就會陷入痛苦的世界)。

暫無
暫無

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

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