2010-11-22 63 views
0

我有一個現有的Django網站,已經有註冊用戶。我試圖用一個與原始網站不同的新版本更新網站 - 類似的想法,但不同的模型。更新Django網站時如何維護用戶數據?

如何保持當前用戶在新網站上?

我聽說南方可能是一個很好的解決方案,但舊網站沒有安裝它。在這種情況下可以使用南方嗎?

感謝您的幫助!

回答

0

+1到南,但......

我們需要更多的信息!你是否對模型做過徹底的改變,或者只是在這裏或那裏添加或刪除字段?

South可以處理一些非常激進的遷移,但是您必須編寫一些自定義遷移代碼。就個人而言,如果我添加一個新的領域,我使用南方,但不是這種更激進的東西。

如果這是一個大的模式更改,完全重新組織您的網站,那麼我只需編寫自己的腳本來閱讀舊對象,然後創建新對象。複製生產數據庫(通過pg_dump,mysqldump等)並將其加載到本地計算機上,您可以在其中測試和調試自定義轉換腳本。確保您的「舊模型」和「新模型」具有不同的名稱,並將所有內容保存在settings.py中,以便您可以隨時閱讀&寫下所有內容。

編寫&測試遷移腳本,並且在此之後,您可以創建另一個更改列表以刪除所有舊對象,然後刪除其相應的源代碼(如果需要)。