2013-03-23 85 views
0

假設我有一個項目及其版本化的源文件。
但是,每個版本都可以有一組腳本,每個腳本都非常具體。
如何版本特定版本的文件

例如,對於每個版本,我都可以提供patch.sql腳本,以影響數據庫內容。
該腳本與每個版本都非常不同。

該腳本如何進行版本控制?
是否有策略來管理這些文件?

+1

如果它是專門針對版本之間的數據庫更改,那麼您可能需要查看[Rails如何處理遷移](http://guides.rubyonrails.org/migrations.html)作爲起點。 – 2013-03-23 21:35:26

+0

您可能需要構建過程。構建過程可以將sql更改預處理爲一個sql腳本。但是,對於這個問題,很難判斷你是在尋找一個git解決方案還是一個增量sql遷移的故事。 sql遷移升級過程應獨立於您的源代碼管理系統。 Git只存儲版本化的文件 - 它不是你的數據庫問題的組成部分。 – bryanmac 2013-03-23 22:16:29

+0

例如,我一直是大型團隊的一部分,並且看到很多sql遷移方法,但是沒有一個依賴於源代碼控制的選擇...... – bryanmac 2013-03-23 22:17:19

回答

1

可以像其他文件一樣管理僅用於發佈,不用於遷移的文件。只需對文件進行必要的更改並按照正常方式進行提交即可。

否則,一個簡單的方法來遷移是有目錄,如migration/v2_v3/它包含了所有的補丁和必要從2版本要到第3版。

對於SQL遷移的特定主題的腳本,看看Sqitch。它是版本控制感知的SQL更改管理,因此您不必提出自己的SQL修補程序管理方案。