你們如何維護存儲過程?我想保留它們的版本有幾個不同的原因。在源代碼管理中維護存儲過程
我也將設置cruisecontrol.net,並在本週末將自動化構建。
我正在考慮在我的開發數據庫中編寫能夠爲所有tables/sprocs/udf/xml模式生成腳本的代碼。然後,它會採取這些腳本,並在每隔幾個小時更新它們在源代碼控制中....理想情況下,我想爲cruisecontrol.net製作一些插件/模塊。
還有其他想法嗎?
你們如何維護存儲過程?我想保留它們的版本有幾個不同的原因。在源代碼管理中維護存儲過程
我也將設置cruisecontrol.net,並在本週末將自動化構建。
我正在考慮在我的開發數據庫中編寫能夠爲所有tables/sprocs/udf/xml模式生成腳本的代碼。然後,它會採取這些腳本,並在每隔幾個小時更新它們在源代碼控制中....理想情況下,我想爲cruisecontrol.net製作一些插件/模塊。
還有其他想法嗎?
我們在工作中使用Red Gate的SQL Toolbelt來達到這個目的。奇蹟般有效。
每個對象,存儲過程或以其他方式和模式的變化是通過顛覆控制下的腳本(文本文件)處理。就像你項目中的其他文件一樣。通過針對相關數據庫執行這些腳本來更改對象/模式。爲了方便起見,我們的構建過程將這些過程彙總爲一個大腳本和架構更改腳本的編寫方式,以便他們可以重新運行沒有警告/錯誤(如果不存在... exec ...)
我會建議反對編輯表格定義或直接在數據庫中創建對象使用查詢工具,然後嘗試將這些更改提取到腳本中。
改爲使用這些版本控制的腳本,以與您在qa/production中相同的方式更改開發數據庫。
我使用紅門的sql比較和sql數據比較來部署從一個環境到另一個環境的變化。是的,這是(imo)迄今爲止最好的工具。但他們有一個版本數據庫創建腳本的組件? – dub 2010-01-08 00:13:10
是的,還有幾種不同的方法可以做到這一點。可以生成從SQL Compare自動簽入的腳本或使用SQL ChangeSet(我們使用後一種方法)。 他們即將發佈另一個軟件作爲獨立應用程序與Management Studio集成。 http://www.red-gate.com/Products/SQL_Source_Control/index.htm 瞭解Red-Gate的其他產品我相信它也會很好。 – 2010-01-08 01:06:16