2011-09-24 130 views
1

我正在構建一個具有大型數據庫組件的Django支持的Web應用程序。我想知道,如何在用戶使用實時生產版本時繼續開發Web應用程序?有兩個部分的問題,因爲我看到它,如下所示:如何繼續開發Django Web App?

  1. 進行更改模板,腳本和其他文件
  2. 使數據庫架構更改

現在,第一個問題使用SVN系統很容易管理。哎呀,我可以擁有一個包含我所有開發文件的「dev」目錄,一旦準備好,就將它們複製到「生產」目錄中。

但是,第二個問題更令我困惑。如何在不影響主/實時數據庫的情況下測試/開發新的數據庫更改?我一直在使用South在Web應用程序的初始創建階段執行模式遷移,但當然我不想在使用時更改數據庫。特別是如果我進行了我不想保留的更改。

有什麼想法/想法?

回答

2

您需要另一臺服務器來進行開發。通常情況下,這是個人機器,就像你的筆記本電腦通常,您還可以在服務器上獲得生產環境的副本,稱爲臨時服務器。

您的工作流程是這樣的:在你的開發機器上的代碼

  • 工作,讓你想要的所有變化,它只是你使用它的。

  • 當代碼準備好生產時,將其推送到登臺服務器以查看它是否在服務器環境中正常工作。

  • 如果您確定已準備好生產,請將其推送到生產服務器。

+0

而且您可以使用'fabric'來自動部署。 – rczajka

+1

我沒有涉及所有可能的工具,其中有很多。首先,我們需要介紹基礎知識。 –

+0

確實 - 在具體細節之前的基礎知識。感謝您的提示。我非常感謝您列出了開發的基本步驟,因爲這有助於我更好地瞭解需要對流程進行哪些更改。迄今爲止,我一直在黑客主要生產服務器上的項目。該應用程序還沒有生效,我只是想在我到達那裏之前弄清楚「假設」的情況。我想我會把項目移到一個開發服務器,然後從那裏開始。 – Garfonzo