代码之家  ›  专栏  ›  技术社区  ›  RotS

Liquibase将列默认值设置为空

  •  0
  • RotS  · 技术社区  · 6 年前

    我尝试使用liquibase“addDefaultValue”语法将列的默认值设置为空:

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

    但是,向mytable插入新行表明,默认值仍然像以前一样设置为“false”。所以,自由放任的变更集不起作用。

    如何使用Liquibase将列默认值设置为空?

    1 回复  |  直到 6 年前
        1
  •  0
  •   RotS    6 年前

    我找到的解决方案是使用原始SQL查询,而不是Liquibase“addDefaultValue”语法:

    <changeSet id="20181213171501-2">
        <!-- Add default value -->
        <sql dbms="mysql">
            ALTER TABLE myTable MODIFY myColumn BOOLEAN NULL DEFAULT NULL
        </sql>
    </changeSet>