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

标签 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。但是,如果我手动执行这句话,现有的行将被填充。

有一些解决方法吗?

最佳答案

Flyway 按原样执行您的语句,而不对其进行转换。

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

关于mysql - 在 flyway maven 插件中,auto_increment 不会用自动增量值填充 id 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17487876/

相关文章:

database - Flyway 的迁移前和迁移后脚本

flyway - Flyway 是否支持在文件上定义 sql 迁移列表?

sql - 比较mysql中的两个日期

mysql - 如何根据日期选择列的总和

ios - 从 parse 迁移到 azure 不适用于移动应用程序

mysql - 有没有更好的方法来进行数据迁移?

php - 如何使学说支持时间戳列?

java - 如何构建基于 flyway java 的迁移

php - 如何实际检查服务器是否可以同时处理多个 MySQL 连接

mysql查询最低选项总和