2017-02-13 2 views
0

Я добавил столбец в существующую таблицу с использованием списка изменений Liquibase, и я установил ограничение на nullable равным true.Liquibase меняет существующее ограничение с нулевым значением от true до false

Код:

<changeSet id="10" author="000000"> 
    <addColumn tableName="NCV_ATTRIBUTE"> 
     <column name="AlternativeListPrice" type="double" defaultValue="0.0"> 
     <constraints nullable="true"/> 
     </column> 
    </addColumn> 
</changeSet> 

Я хочу изменить обнуляемого ограничение от истинного на ложное в 11. Что ревизия, это самый простой способ для достижения этой цели?

Спасибо.

+0

Пожалуйста, не маркирует это как вопрос Java, когда он имеет абсолютно не связано с Java. –

ответ

1

Я нашел точный способ использования здесь.

Вот как удалить обнуляемого ограничение с помощью изменений:

<changeSet id="11" author="000000"> 
    <dropNotNullConstraint tableName="NCV_ATTRIBUTE" columnName="AlternativeListPrice"/> 
</changeSet> 

Ключевое слово "dropNotNullConstraint".

В этом примере, если вы используете это ключевое слово, за которым следуют имя таблицы и имя столбца, вы сможете удалить установленный с нулевой константой ранее установленный параметр, а значение nullable будет изменено на false.

0

Чтобы запустить ревизию только после того, убедившись, что ограничение существует (в оракула) -

<changeSet id="111" author="ME"> 
    <preConditions onFail="MARK_RAN" onError="CONTINUE"> 
    <sqlCheck expectedResult="N"> 
     SELECT Nullable 
     FROM user_tab_columns 
     WHERE table_name = 'table_name' 
     AND column_name = 'column_name' 
    </sqlCheck> 
    </preConditions> 
    <dropNotNullConstraint tableName="BULK_REQUEST" columnName="REMARKS"/> 
</changeSet> 

Предпосылки для различных баз данных может быть найдено here

Смежные вопросы