我需要用Liquibase在这个用户表上插入新记录。它在PostgreSQL上运行良好,但在MySQL中,SQL输出中的布尔字段(u_administrator)有引号。像这样:
INSERT INTO users (u_name, ..., u_administrator) VALUES ('Administrator',..., '1')
<changeSet author="jmartins" id="AdminInsertion">
<insert tableName="users" dbms="postgresql">
<column name="u_name" value="Administrator"/>
...
<column name="u_administrator" value="true"/>
</insert>
<insert tableName="users" dbms="mysql">
<column name="u_name" value="Administrator"/>
...
<column name="u_administrator" value="1"/>
</insert>
</changeSet>
所以我可以强制liquibase输出不带引号的"u_administrator",这样它就可以在MySQL上正确插入。我需要打一个<sql>自定义命令?
无论如何,谢谢。
使用valueBoolean而不是value来告诉liquibase它需要使用数据库特定的值作为布尔值。