000*_*000 11 database liquibase
我使用Liquibase更改日志向现有表添加了一列,并将可为空约束设置为 true。
代码:
<changeSet id="10" author="000000">
<addColumn tableName="NCV_ATTRIBUTE">
<column name="AlternativeListPrice" type="double" defaultValue="0.0">
<constraints nullable="true"/>
</column>
</addColumn>
</changeSet>
Run Code Online (Sandbox Code Playgroud)
我想在 changeSet 11 中将可空约束从 true 更改为 false。实现此目的的最简单方法是什么?
谢谢。
小智 12
我在这里找到了使用的确切方法。
以下是使用更改日志删除可为空约束的方法:
<changeSet id="11" author="000000">
<dropNotNullConstraint tableName="NCV_ATTRIBUTE" columnName="AlternativeListPrice" columnDataType="double"/>
</changeSet>
Run Code Online (Sandbox Code Playgroud)
关键字是dropNotNullConstraint。
在本例中,如果使用此关键字后跟表名和列名,则可以删除之前设置的可为空约束,并且可为空值更改为 false。
小智 6
仅在确保约束存在(在 Oracle 中)后才运行变更集 -
<changeSet id="111" author="ME">
<preConditions onFail="MARK_RAN" onError="CONTINUE">
<sqlCheck expectedResult="N">
SELECT Nullable
FROM user_tab_columns
WHERE table_name = 'table_name'
AND column_name = 'column_name'
</sqlCheck>
</preConditions>
<dropNotNullConstraint tableName="BULK_REQUEST" columnName="REMARKS"/>
</changeSet>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13681 次 |
| 最近记录: |