2012-10-16 42 views
1

據我所知,django-south非常像數據庫模式的版本控制。但是爲什麼在開發時比python manage.py syncdb更好?我可以理解你是否已經啓動並且無法僅僅刪除數據庫,但是當你可以刪除數據庫時,我沒有看到使用它的意義。爲什麼要用django-south?

+0

當您正在開發已在其他地方使用過的東西時,刪除數據庫不是一種選擇。在這種情況下,您需要在舊版本和較新版本之間進行某種遷移。 'syncdb'不支持遷移,但是South有。 – Tadeck

回答

2

它的目的是在生產環境中遷移模式。如果您運行一個生產應用程序,其中包含從您的用戶收集的大量數據,然後想要擴展表,那麼必須刪除數據庫並丟失所有數據將是非常不幸的。

它在開發過程中增加的好處是可以避免浪費時間丟棄數據庫,重新同步數據庫並在每次更改模型時創建新的超級管理員。

+0

此外,您可以回滾到特定的遷移,輕鬆地在遷移前後執行操作,等等...... – Gromer

+0

現在我將它賣掉了,謝謝:)它是否還會更改models.py中的代碼或我必須自己做那件事嗎? –

+0

不,它不會更改models.py中的代碼,在更改models.py後使用south來確保數據庫正確反映您的模型而不必刪除數據庫。 –