看板 Database 關於我們 聯絡資訊
※ 引述《tier07 (tier07)》之銘言: : ※ 引述《tier07 (tier07)》之銘言: : : 請問大家的 Stored Proc, Trigger 有用版本管理系統來管理嗎(CVS, SVN or 微軟的) ? : : 可以用來比較各版本的差異 : : 不管是, SQL Server, MySQL, Oracle,.. : : 想聽聽大家的意見 : 有朋友問到, : 怎麼用 CVS, SVN 來管理呀? 是不是要存成檔案? : 目前, 是要存成檔案沒錯, : 我都懶得存, 所以問問看, 大家是怎麼做版本管理 ? 我的做法是把 scheme 都寫在檔案裡, 而測試好的 trigger, sp(pl/sql類的) 也是存在檔案裡. 因為我的資料庫不只一台主機, 需要修改資料庫 scheme 時所有的主機都要修改, 所以其實是以 cvs 為主, 最新版本的 scheme/trigger/sp 都是在 cvs 上, 檔名就像 scheme_define.sql 這樣... 當我需要建新的資料庫時, 只要將最新版本的 scheme_define.sql export出來匯入就行了 而升級資料庫的部分則是看 ci msg 來決定要下哪些 alter 的 sql, 當然其實這部分有另一個檔案叫 scheme_update.sql 在我寫好新版本的 scheme_define.sql 時, 就會寫一個升級用的 scheme_update.sql 所以要升級時只要將最新版本的scheme_update.sql與當前資料庫版本做 diff 就可以得知需要下哪些 sql 來做 update 至於用 c 寫的 trigger/sp, 本身就是個 source file, 所以用 cvs 就很正常了 另外, 我是偏好使用 svn, 因為 svn 是整個 repository 的版本向前, 不像 cvs 是每個檔案各有各自的版本, 這樣我比較難用版本編號去找出所有檔案的對應關係 像是trigger_abc.c v1.24與scheme_update.sql v1.84這兩者間的關係看不太出來, 用時間的話也很難說有絕對的關係... 如果用 svn, 我直接指定我要哪個版本與哪個版本的 diff, 而不用在乎 commit 的時間問題 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.121.16.42 ※ 編輯: pakker 來自: 59.121.16.42 (12/17 20:48)