我們使用liquibase讓我們的數據庫更改軌道落差約束.. 第一變更包含這些行:Liquibase不知道它的名字
<column name="SHORT_ID" type="INTEGER">
<constraints unique="true" />
</column>
基本上就意味着SHORT_ID列具有唯一約束,但這個名字約束可以是任何,每次通常是不同的(我們對H2數據庫進行一些集成測試,每次運行測試時都會創建新的基礎)
所以..問題是:我無法更改此第一個changeSet,但現在我們必須擺脫這種獨特的限制。任何想法如何通過使用liquibase來實現?
試過這之前..不能有下降約束命令中的選擇子句:)和約束名稱是不一致的..我試圖避免這些自定義重構類,但它真的好像只有選項..所以謝謝你的方法和+1,如果沒有自定義liquibase更改沒有人提出解決方案,那麼這一個將是我接受的答案..;] – vrm 2010-09-01 20:59:26
我遇到了同樣的問題,在ms sql server的drop constraint命令中不允許選擇。我最終做了以下操作以刪除表容器https://bowerstudios.com/node/995上的col測量的唯一約束(因爲評論框中的字符不足)。解決方案與Nathan's相呼應,但針對ms sql server進行了調整。 – 2012-08-28 13:52:15