2011-02-03 48 views
2

我們有一個相當規模的開發團隊,在同一代碼行上開發了一些併發項目。有時我們添加可以在開發環境中運行的遷移,但由於該項目的發佈時間表,因此不應該在幾個月內運行prod。這導致我們堅持使用Rails的原始編號遷移,而不是時間戳,因爲我們可以輕鬆遷移到某個幻數,並在這個幻數之後進行所有的prod遷移。如何正確管理dev和prod環境的遷移?

這完全覺得我們做錯了。我們仍然有開發人員創建相同編號遷移的問題。我們不能簡單地在分支上保留一個項目一段時間,因爲分支將與主幹分離。

是否有任何人遇到過處理這種遷移問題的方法或工具?

+0

就我個人而言,我們從不在生產數據庫上運行遷移。我們傾向於手動更改SQL。儘管如此,這是一個很好的問題+1 – 2011-02-03 19:48:34

回答

2

你肯定做錯了;)

有效地管理多個「目標」,需要一個良好的VCS。我建議git或mercurial,因爲良好的分支(和合並)支持是必不可少的。

  • 確實使用時間戳遷移:解決了重複問題。
  • 保留不應遷移到非生產分支上的生產。 您可以將'主'部署到生產環境中並在功能部門上開發,或者您可以擁有'生產'部門並在主環境中開發。無論如何,你不會在生產中運行遷移,直到你真的需要。
  • 經常將「生產」分支合併到您的開發分支中 - >分歧問題得到解決。
  • 如果只有一個人在主題分支上工作,他可以​​'git rebase'而不是合併生產分支以保持發展歷史線性。
+0

完美!謝謝! – mculp 2011-02-03 20:01:43