我需要使用 Liquibase 在此用户表中插入新记录。它在 PostgreSQL 上运行良好,但在涉及 MySQL 时,SQL 输出对 boolean 字段 (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 它需要使用特定于数据库的值作为 boolean 值。
关于mysql - 不带引号的 boolean 插入 - Liquibase over MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25914878/