Liquibase устанавливает значение по умолчанию для столбца в NULL - PullRequest
0 голосов
/ 14 декабря 2018

Я попытался с помощью liquibase установить нулевое значение по умолчанию для моего столбца с синтаксисом "addDefaultValue" liquibase:

<changeSet id="20181213171501-2">
    <!-- Add default value -->
    <addDefaultValue tableName="myTable"
        columnDataType="boolean"
        columnName="myColumn"
        defaultValueBoolean="null" />
</changeSet>

Но вставка новой строки в myTable показала, что значение по умолчанию все еще установлено в 'ложь, как и прежде.Таким образом, набор изменений в liquibase не работал.

Как установить значение по умолчанию для столбца на null с liquibase?

Ответы [ 2 ]

0 голосов
/ 01 июля 2019

Это именно то, что делает рефакторинг dropDefaultValue : он сбрасывает значение по умолчанию пустых столбцов на ноль.

<changeSet id="20181213171501-2">
    <!-- Reset default value to NULL -->
    <dropDefaultValue tableName="myTable" columnName="mColumn" />
</changeSet>
0 голосов
/ 14 декабря 2018

Решение, которое я нашел, состояло в том, чтобы использовать необработанный SQL-запрос вместо синтаксиса «addDefaultValue» liquibase:

<changeSet id="20181213171501-2">
    <!-- Add default value -->
    <sql dbms="mysql">
        ALTER TABLE myTable MODIFY myColumn BOOLEAN NULL DEFAULT NULL
    </sql>
</changeSet>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...