如果不与liquibase重复,如何插入值?

时间:2014-03-28 11:06:13

标签: mysql sql liquibase

我需要在liquibase中将MySQL INSERT IGNORE INTO ...语句转换为changeSet,我不想直接在changeSet中插入语句。

由于我找不到直接翻译,我想知道如果只在主键部分尚未存在于同一个表的另一行中时如何编写changeSet来插入行?

2 个答案:

答案 0 :(得分:3)

Liquibase并不直接支持INSERT IGNORE支持。如果您不想使用<sql>标记,则唯一的选择是使用类似

的内容
<changeSet>
        <insert ...></insert>
        <modifySql>
             <replace value="INSERT" with="INSERT IGNORE"/>
         </modifySql>
</changeSet>

答案 1 :(得分:1)

使用liquibase 3.2和oracle12

{
  "domain": 0,
  "parameter": "Some param",
  "role_id": 11,
  "permission_id": 1
}

备注: 不使用“替换值”,而是“替换替换”

它与变更集loadData一起使用