我尝试使用liquibase "addDefaultValue“语法将我的列的默认值设置为null:
<changeSet id="20181213171501-2">
<!-- Add default value -->
<addDefaultValue tableName="myTable"
columnDataType="boolean"
columnName="myColumn"
defaultValueBoolean="null" />
</changeSet>
但是,在myTable中插入一个新行后,默认值仍然设置为'false',就像以前一样。因此,liquibase变更集不起作用。
如何使用liquibase将列默认值设置为null?
发布于 2018-12-14 22:37:21
我找到的解决方案是使用原始的SQL查询,而不是液基"addDefaultValue“语法:
<changeSet id="20181213171501-2">
<!-- Add default value -->
<sql dbms="mysql">
ALTER TABLE myTable MODIFY myColumn BOOLEAN NULL DEFAULT NULL
</sql>
</changeSet>
发布于 2019-07-01 23:53:40
这正是dropDefaultValue重构所做的事情:它将可为空的列的默认值重置为null。
<changeSet id="20181213171501-2">
<!-- Reset default value to NULL -->
<dropDefaultValue tableName="myTable" columnName="mColumn" />
</changeSet>
https://stackoverflow.com/questions/53781733
复制相似问题