2009-01-28 171 views
2

這是一個我偶爾會遇到的問題,尚未找出我很滿意的答案。我正在尋找一個適合構建數據庫的構建系統 - 即以正確的用戶身份,以正確的順序運行正確數據庫實例中的所有SQL文件,並正確處理依賴關係等。什麼是構建數據庫的最佳構建系統?

我有一個系統,我使用Gnu Make一起入侵併且它可以工作,但它不是特別靈活,在某些情況下坦率地說可能有點痛苦。我考慮過看SCons和CMake這樣的東西,但是我不知道它們可能會有多好,或者如果現有的系統已經存在更好的系統...

+0

哪個數據庫平臺? MySQL,MSSQL,Postgres,Oracle還有其他的東西嗎? – 2009-01-28 11:47:57

+0

Postgres主要爲我自己,但它更多的是一般的好奇心,這就是爲什麼我把它打開。 – Graham 2009-01-28 13:07:23

回答

0

只是一個運行所有創建語句並按正確順序導入的shell腳本。你也可以找到有趣的migrations(附帶導軌)。它提供了一個像基礎架構一樣的make,讓您維護一個數據庫,其結構會隨着時間的推移而發展。

假設您向某個表中添加了新列。在遷移過程中,您可以編寫一段代碼來描述添加列的要求,還可以回滾更改,以便您可以自動切換到不同版本的模式。儘管如此,我並不十分喜歡與Rails緊密集成,但它背後的原理非常有趣。

0

對於SQL Server,我只是使用SQLCMD.EXE和一堆.SQL文件的批處理文件。這不是完美的,但它似乎工作。

0

對於我的數據庫,我使用Migrator.NET 這是一個.NET框架,它允許您在定義您的DDL語句的位置創建類。 該框架附帶一個命令行工具,您可以使用該工具以正確的順序執行「遷移」。 它也有一個msbuild任務,所以你可以把它集成到持續集成構建中。

相關問題