使用 liquibase 插入空值

Posted

技术标签:

【中文标题】使用 liquibase 插入空值【英文标题】:Inserting null values with liquibase 【发布时间】:2018-05-01 01:55:33 【问题描述】:

我们使用 liquibase 来管理我们的 mysql 数据库之一的更新、回滚等。

我遇到的一个小问题是在更新或回滚过程中将值设置为 null 的过程。示例:

        <rollback>
            <update tableName="boats">
                <column name="engine" value="null" />
                <column name="oars" value="2" />

起初我有点担心“null”会从字面上插入字符串“null”,但事实证明 liquibase 似乎有一些实际插入 null 值的智能。

我想知道这是否是推荐的这样做方式,或者是否有一种与平台无关的方式在 Liquibase 中明确表示“nullValue”?

【问题讨论】:

【参考方案1】:

只需省略&lt;column&gt; 上的value 属性:

<rollback>
    <update tableName="boats">
        <column name="engine" type="varchar(255)"/>
    </update>
</rollback>

参考:Update

【讨论】:

以上是关于使用 liquibase 插入空值的主要内容,如果未能解决你的问题,请参考以下文章

将空值插入 Postgresql

异步执行长时间运行的 liquibase 数据库更新

如何在liquibase中设置当月第一个日期和下个月的默认值?

使用带有 liquibase 变更集上下文属性的 Spring Boot 配置文件来管理变更集范围

无法使用 Liquibase 中的序列在表中插入值

Liquibase DB 独立插入语句