在flyway maven插件中,auto_increment不会使用自动增量值填充id列

时间:2013-07-05 11:30:55

标签: mysql database-migration flyway

我在我的数据库迁移中使用flyway插件,我的一个迁移有这个sql:

-- Inserts sequential number into `id`
ALTER TABLE `DEVICES` MODIFY `id` BIGINT(20) AUTO_INCREMENT;
-- we don't need the auto_increment anymore
ALTER TABLE `DEVICES` MODIFY `id` BIGINT(20) UNIQUE;
-- This simulates a sequence. Starts at max(id); next id will be max(id)+1.
CREATE TABLE `DEVICES_ID_SEQUENCE` (id BIGINT(20) NOT NULL);
INSERT INTO `DEVICES_ID_SEQUENCE` (SELECT max(id) from `DEVICES`);

但是flyway不会在现有行上填充表DEVICES的列id。但是,如果我手动执行这些句子,则会填充现有行。

有一些解决方法吗?

1 个答案:

答案 0 :(得分:0)

Flyway按原样执行你的陈述,而不转换它们。

确保您正在连接正确的实例。还要检查日志以查看是否发生了任何故障。