2012-06-14 27 views
9

我有一個現有的mysql表,有兩列a和b。使用liquibase創建列時,如何根據現有列爲該列指定值?

我現在想要爲該表添加一列c。

C應該可爲空的,應具有NULL的默認值,除了在塔B的值爲10。當b的值是10的那些行,C應該有一個值X.

我明白使用SQL來做這件事非常簡單,但我想用liquibase來做到這一點,因爲liquibase就是我們用於模式遷移的東西。

+3

您需要在Liquibase中使用''標籤。 –

+1

謝謝@a_horse_with_no_name;那很好用! – Aml

回答

10

你已經嘗試過這樣的事情嗎?

<addColumn tableName="SGW_PRODOTTI_INFO_ATTRIBUTE"> 
    <column name="AlternativeListPrice" type="double" defaultValue="0.0"> 
    <constraints nullable="true"/> 
    </column> 
</addColumn> 
+0

這是正確的。參考:http://www.liquibase.org/documentation/column.html –

4

我認爲不使用純SQL最好的解決方案是以下幾點:

您可以選擇使用變更中都變化,但一個好的做法是由liquibase交易/回滾目的的分離變更到每一個分開。

相關問題