0
我有最初爲PostreSQL定義的liquibase架構。現在,我必須修改模式文件以支持Oracle。我有一個變更集,它有一個<sql>
標記。它有一個查詢訪問pg_catalog
表以設置序列的值。但是,這對Oracle不起作用。如果我將其刪除,Liquibase會抱怨check-sum驗證失敗。它抱怨,即使我有一個空的<sql>
標籤或其中指定的其他查詢。在這個變更集中,我有很多其他的create-table語句,所以我不能只從dbms屬性中刪除oracle。有沒有什麼辦法可以抑制這個SQL運行Oracle?Liquibase:自定義SQL語句
是的,我的模式文件對所有create-table語句(大約69個表格)都有一個變更集,這是遺留代碼並且已經在生產中,所以我無法更改它的重構。但clearChecksums會重新計算所有變更集,是嗎?如果是這樣,我寧願避免冒這個風險。 – devang 2012-07-16 21:55:00
@gotuskar是的,它會重新計算所有的變更集,但沒關係,前提是您只更改了一個變更集。變更集是liquibase用來確保變更集與之前應用的變更集相同的機制。這也是liquibase如何支持「runOnChange」屬性(只有在更改後才應用變更集)。我建議在生產數據庫的副本上進行測試。 – 2012-07-16 22:14:37
由於我將應用程序移植到Oracle,因此我更改了許多更改集,這就是爲什麼我阻止使用此選項。 – devang 2012-07-16 22:24:05