错误属性“已计算”不允许出现在元素“列”中

时间:2019-08-04 12:15:39

标签: liquibase

我正在尝试使用虚拟列创建oracle表,如下所示 在液基中     创建表MY_TABLE     (entry_datetime DATE不为null,       entry_date DATE AS(TRUNC(entry_datetime)))

根据文档,我尝试如下使用ValueComputed属性

<changeSet author="base_script" id="idx_31710" context="btr_rem" dbms = "oracle">
</changeSet>
<changeSet author="my_scripts" id="t11" dbms="oracle">
<createTable
          remarks= ""
          tableName= "my_table1">
<column name="entry_datetime" type="date" >
          <constraints nullable="false"/>
</column>
<column name="entry_date" type="DATE"  ValueComputed="TRUNC(entry_datetime)"></column>
</createTable>
</changeSet>

但是我运行时却出现如下错误 cvc-complex-type.3.2.2:属性“ ValueComputed”不允许出现在元素“ column”中。

我尝试将计算属性用作 但它给人错误 cvc-complex-type.3.2.2:属性“已计算”不允许出现在元素“列”中。

1 个答案:

答案 0 :(得分:2)

您正在创建新表,而不是将值分配给列。 这需要一个defaultValueComputed属性。

例如: <column name="entry_date" type="DATE" defaultValueComputed="TRUNC(entry_datetime)"></column>