我将 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。但是,如果我手动执行这句话,现有的行将被填充。
有一些解决方法吗?
最佳答案
Flyway 按原样执行您的语句,而不对其进行转换。
确保您连接的是正确的实例。还要检查日志以查看是否发生任何故障。
关于mysql - 在 flyway maven 插件中,auto_increment 不会用自动增量值填充 id 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17487876/