我們使用postgres數據庫在java中製作了一個系統。 此數據庫經常更改,每週更新一次或更少,我們正在更新它。這些更改位於DB(DDL)的結構中,通常位於功能和字段中以添加新功能。在postgres中自動構建腳本以更新數據庫
對於數據庫中的更改,我們通常使用navicat,如下所示: 1-我們使用navicat對數據庫結構進行了更改,並將我們所做的每個更改都提供給我們的SQL複製到XML文件中。 2-當我們必須更新生產數據庫時,我們檢查由版本號標識的文件並更新數據庫。 3-然後我們對每個安裝的數據庫重複這一步(總共30個)
我們遇到的問題是整個過程是手動的,並且很容易忘記將更改複製到XML中,所以當我們使用它的腳本不起作用,或者甚至在系統需要此更改失敗時更糟糕。
因此,我們正在尋找一種方式來自動完成這個任務,我們想出了以下的想法: 1 - 我們做在Navicat變化 2-配置的Postgres到日誌中的DDL的變化到CSV文件中 3 - 稍後我們讀取CSV文件並將更改傳遞到XML以更新制作DB
我們遇到的問題是LOG將保存所有嘗試更改結構,包括錯誤,因此如果我們使用該腳本更新它也會失敗。
有沒有辦法在postgres的日誌中只保存成功的DDL更改?
是否有腳本或應用程序來獲取DDL更改並將其自動放置在腳本中?
有沒有更好的方法來自動化這個過程?
我建議你修改你的問題更簡潔。 – gsamaras 2014-11-02 02:53:43