mysql约束的liquibase迁移-成功时出错
我在迁移中有以下更改集:mysql约束的liquibase迁移-成功时出错,mysql,liquibase,Mysql,Liquibase,我在迁移中有以下更改集: <changeSet author="aaa (generated)" id="1416295794385-38" objectQuotingStrategy="QUOTE_ALL_OBJECTS"> <addForeignKeyConstraint baseColumnNames="fk_xxx_id" baseTableName="client_xxxs" constraintName="FK_2kma3uvjxartf5p9l24
<changeSet author="aaa (generated)" id="1416295794385-38" objectQuotingStrategy="QUOTE_ALL_OBJECTS">
<addForeignKeyConstraint baseColumnNames="fk_xxx_id" baseTableName="client_xxxs" constraintName="FK_2kma3uvjxartf5p9l24yk2fxu" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="xxx_types"/>
</changeSet>
但是当我在mysql中检查模式时,这个约束似乎被应用了。这是我唯一一次应用约束,以前从未应用过
show create table client_xxxs;
| client_xxxs | CREATE TABLE `client_xxxs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
...
`fk_xxx_id` int(11) NOT NULL,
`xxx_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`create_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
KEY `FK_2kma3uvjxartf5p9l24yk2fxu` (`fk_xxx_id`),
CONSTRAINT `FK_2kma3uvjxartf5p9l24yk2fxu` FOREIGN KEY (`fk_xxx_id`) REFERENCES `xxx_types` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
这将阻止迁移完成
导致此异常的原因是什么,是错误还是未命中
模式触发了它?
是否可以忽略错误并使用
剩下的迁移?
还验证了直接在mysql控制台中使用约束应用程序可以正常工作
mysql> alter table client_xxxs add CONSTRAINT `x-FK_2kma3uvjxartf5p9l24yk2fxu` FOREIGN KEY (`fk_xxx_id`) REFERENCES `xxx_types` (`id`);
Query OK, 0 rows affected (0.81 sec)
Records: 0 Duplicates: 0 Warnings: 0
show create ...
CONSTRAINT `x-FK_2kma3uvjxartf5p9l24yk2fxu` FOREIGN KEY (`fk_xxx_id`) REFERENCES `xxx_types` (`id`),
当Liquibase尝试添加约束时,mysql抛出了您看到的错误。我认为错误是由于基列中的数据与引用列中的数据不匹配。我希望不会创建外键,但mysql可能仍然会创建外键 如果您运行select*from client_xxxs,其中fk_xxx_id不在select id from xxx_type中,您会得到任何结果吗
mysql> alter table client_xxxs add CONSTRAINT `x-FK_2kma3uvjxartf5p9l24yk2fxu` FOREIGN KEY (`fk_xxx_id`) REFERENCES `xxx_types` (`id`);
Query OK, 0 rows affected (0.81 sec)
Records: 0 Duplicates: 0 Warnings: 0
show create ...
CONSTRAINT `x-FK_2kma3uvjxartf5p9l24yk2fxu` FOREIGN KEY (`fk_xxx_id`) REFERENCES `xxx_types` (`id`),