database - Liquibase将现有的可为空的约束从true更改为false

标签 database liquibase

我使用Liquibase changelog在现有表中添加了一个列,并将可为空的约束设置为true。

代码:

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

我想在changeSet 11中将可为空的约束从true更改为false。最简单的方法是什么?

谢谢。

最佳答案

我找到了在这里使用的确切方法。

这是使用changelog删除可为空的约束的方法:

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

关键字是“dropNotNullConstraint”。

在此示例中,如果在表名和列名后使用此关键字,则可以删除先前设置的可为空的约束,并且可为空的值将更改为false。

关于database - Liquibase将现有的可为空的约束从true更改为false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42214689/

相关文章:

java - 我们如何在 Liquibase XML changlelog 中使用 xinclude ?

gradle - 将Gradle从Groovy转换为Kotlin DSL(用于liquibase-gradle-plugin)

php - 如何使用 phpmailer 跟踪通过 smtp 发送的电子邮件?

javascript - Mongoose 一次查询所有子文档

Python 和 Oracle 数据库 - "Error DPI-1050: Oracle Client library must be at version 11.2 or higher"

mysql - liquibase中的loadUpdateData,仅从csv中选择一些列

Maven liquibase 插件

spring-boot - 打包应用程序时未执行 Liquibase 脚本

mysql - solr中独特的关键问题

java - 日期与毫秒 |用于 Java + MySQL(或其他数据库)的可扩展性、保存、搜索和获取时间