我创建了一个新的变更集,以向现有表中添加一个新列,如下所示。我还将密钥属性添加到了用户组表的hbm.xml文件中。它确实会根据日志进行拾取,并成功运行,但未显示在databasechangelog表中,并且更改也未反映在usergroup表中。
<changeSet author="changeTest" id="2018-10-25">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="USERGROUP" columnName="USERROLE"/>
</not>
</preConditions>
<addColumn tableName="USERGROUP">
<column name="USERROLE" type="VARCHAR(50 ${varcharUnit})" />
</addColumn>
<update tableName="USERGROUP">
<column name="USERROLE" type="VARCHAR(50 ${varcharUnit})" value="user"/>
<where>USERNAME = 'user1'</where>
</update>
</changeSet>
密钥属性位于Composite-id元素下,前面有2个密钥。
<key-property name="userRoleInGroup" type="string" >
<column name="userRole" default="user"/>
</key-property>
我为此错过了一些更新过程吗?