據我所知,django-south非常像數據庫模式的版本控制。但是爲什麼在開發時比python manage.py syncdb更好?我可以理解你是否已經啓動並且無法僅僅刪除數據庫,但是當你可以刪除數據庫時,我沒有看到使用它的意義。爲什麼要用django-south?
回答
它的目的是在生產環境中遷移模式。如果您運行一個生產應用程序,其中包含從您的用戶收集的大量數據,然後想要擴展表,那麼必須刪除數據庫並丟失所有數據將是非常不幸的。
它在開發過程中增加的好處是可以避免浪費時間丟棄數據庫,重新同步數據庫並在每次更改模型時創建新的超級管理員。
此外,您可以回滾到特定的遷移,輕鬆地在遷移前後執行操作,等等...... – Gromer
現在我將它賣掉了,謝謝:)它是否還會更改models.py中的代碼或我必須自己做那件事嗎? –
不,它不會更改models.py中的代碼,在更改models.py後使用south來確保數據庫正確反映您的模型而不必刪除數據庫。 –
- 1. 爲什麼我需要Iterator接口,爲什麼要使用它?
- 2. 爲什麼要爲
- 3. 爲什麼要使用Windows.Forms.Timer?
- 4. 爲什麼要調用AdjustAmountOfExternalAllocatedMemory
- 5. 爲什麼要使用Mockito?
- 6. 我爲什麼要用WinDbg?
- 7. 爲什麼要使用Django?
- 8. 爲什麼要調用BindingFlags?
- 9. 爲什麼要引用LambdaExpression?
- 10. 爲什麼要使用DataTemplate.DataType
- 11. 爲什麼要使用PortletURL?
- 12. 爲什麼要使用Querydsl?
- 13. 爲什麼要使用CAssetManager?
- 14. 爲什麼要調用ThreadPoolExecutor.run()?
- 15. 爲什麼要用UIGraphicsPushContext/UIGraphicsPopContext
- 16. 爲什麼要調用$ HTTP_RAW_POST_DATA?
- 17. 你爲什麼要用fmt.Sprint?
- 18. 爲什麼要使用Socket.io?
- 19. 爲什麼要使用ActionbarSherlock?
- 20. 我爲什麼要用Drools?
- 21. 爲什麼要使用CC_BREAK_IF?
- 22. 爲什麼要使用File.join()?
- 23. 爲什麼要使用fluentmigrator?
- 24. 爲什麼要使用Asprintf?
- 25. 爲什麼要使用DialogFragment?
- 26. 爲什麼要使用restartLoader()?
- 27. 爲什麼要使用Dispatcher.BeginInvoke?
- 28. 爲什麼要調用OrganizationServiceProxy.Dispose()?
- 29. 爲什麼要使用jsp:forward
- 30. 爲什麼要使用Uploadify?
當您正在開發已在其他地方使用過的東西時,刪除數據庫不是一種選擇。在這種情況下,您需要在舊版本和較新版本之間進行某種遷移。 'syncdb'不支持遷移,但是South有。 – Tadeck