2014-02-12 66 views
0

我的團隊需要工具來管理數據庫在發佈期間的變化。哪些數據庫變更管理工具更適合存儲過程

我檢查了像DbDeploy,Flyway,Liqbase和其他一些工具。這三個工具爲ddl和crud做了很好的工作。但是...

但是,我們的db中有很多存儲過程,其中一些非常大。

而且,如果拿DbDeploy的方式來看,它將看起來像文件v4__first_change.sql,其中包含兩個完整版本的1000+(不要告訴我什麼)線SP - 一個有新的變化,第二個用於備份。然後我們需要進行另一次更改,因此我們將創建新文件v6__another_cahnge.sql,該文件將再次包含1000+行SP的兩個版本。似乎不是最好的解決方案。

所以問題是什麼是管理數據庫版本控制的最佳方式,其中包含大量存儲過程以及哪種工具更適合於此活動?

回答

0

聲明:我爲我即將提到的公司工作。

Datical是一家在Liquibase之上開發工具的公司,旨在使這種情況成爲可能。我們正在努力實現我們的第一個產品Datical DB的1.1版本。您會喜歡的功能之一是能夠將存儲的邏輯保存在外部文件中。

一些更多的信息在這裏: http://www.datical.com/

+1

尋找一般的解決方案,也從你的答案不清楚如何管理sp – nahab

1

隨着Liquibase,我通常建議定義你的程序爲「CREATE OR REPLACE」,然後使用runOnChange attribute on the ChangeSet

隨着runOnChange屬性,第一次變更爲對數據庫執行它將執行它並創建該過程。當你想改變你的過程時,只需編輯現有的SQL,當你再次運行liquibase時,它會看到你改變了定義並重新運行它。每當你運行liquibase,但沒有改變程序SQL liquibase不會重新運行changeSet

+0

感謝指出這個功能,老實說,我開始傾向於DbDeploy,但還會再看看Liquibase – nahab

相關問題