对于我的MySql数据库,我有一个LiquiBase变更集,如下所示:
<changeSet id="ddl update tables : modify datatype for MY_TABLE.STATE_ABBREV" author="xxx">
<preConditions onFail="MARK_RAN" onFailMessage="Column MY_TABLE.STATE_ABBREV doesn't exists.">
<and>
<tableExists tableName="MY_TABLE"/>
<columnExists tableName="MY_TABLE" columnName="STATE_ABBREV"/>
</and>
</preConditions>
<update tableName="MY_TABLE">
<column name="STATE_ABBREV" value="AS"/>
<where>AGU
</where>
</update>
</changeSet>
这将导致
UPDATE MY_TABLE SET STATE_ABBREV = 'AS' WHERE AGU;
这看起来不像有效的ANSI SQL。这是一个LiquiBase错误还是LiquiBase在提交到数据库之前对此SQL做了什么? 如何告诉LiquiBase生成格式良好的ANSI SQL?