2009-09-08 59 views
1

我一直在構建一個SCM環境(它必須符合PCI標準,但與此問題相關)。用於實時數據庫的最佳SCM實踐

我已經到了想要自動化數據庫更新的地步,但我並不是100%肯定這是最好的前進方向。

說我想添加一個字段到數據庫表。很容易將其添加到開發環境中,但對實時環境的推出又如何?我看了一下MySQL::Diff,但花費時間完全自動化的想法對我來說似乎有點矯枉過正。

我想要一個回滾選項,並且希望避免整個數據庫重複的矯枉過正。我在SCM上找到的所有教程似乎都沒有涵蓋這個,或者說它可能非常混亂。對此有最佳做法嗎?或者,我應該只使用MySQL差異來識別更改並備份個別表,然後才能在卷展欄中手動調整?

回答

1

我們在git中存儲所需更改的SQL腳本以及包含更改的分支。

該SQL腳本可以反覆應用到生產數據的「新鮮」副本,驗證它是否能按預期工作。

這是我們的意見,一個專注的DBA或發佈工程師應該應用變更後,制定適當的備份和恢復措施。

-

Navicat MySQL也是一個了不起的工具來幫助。他們的schema diff工具非常適用於驗證更改,甚至應用它們。