Ben*_*Ben 6 java hibernate teradata liquibase preconditions
我有一个 db upgrade 脚本来更改几列上的一些数据类型。我想做一个preCondition检查,并且ALTER TABLE只在它是 DECIMAL 数据类型时调用,但我希望它被更改为 INTEGER。
无法为此找到预定义的先决条件,也无法编写sqlCheck。
precondition列的dataTypein没有内置liquibase。您可以只检查该列是否存在。如果它已经是您需要的数据类型,则不会抛出错误。
或者
你可以sqlCheck在你的先决条件中使用它,它会是这样的:
<preConditions onFail="MARK_RAN">
<not>
<sqlCheck expectedResult="DECIMAL">
SELECT DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'your_table_name'
AND COLUMN_NAME = 'your_column_name'
</sqlCheck>
</not>
</preConditions>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2958 次 |
| 最近记录: |