我们通过复制旧的flyway托管数据库创建了一个新数据库。(flyway版本表也复制过来)
对这个新数据库运行flyway会产生以下flyway错误
Apr 24 19:00:19 ip-xx flyway:无法在架构历史记录表“public”中插入版本为'184‘的行。“flyway_schema_history”Apr 24 19:00:19 ip--xx flyway:- Apr 24 19:00:19 ip--xx flyway: SQL状态: 23502 Apr 24 19:00:19 ip--xx flyway:错误代码:0 Apr 24 19:00:19 ip--xx flyway: Message : ERROR:"installed_on“列中的空值违反非空约束
发布于 2020-05-13 21:42:14
您使用的是哪个版本的Flyway,当您移动数据库时,它是否发生了变化?您使用的是哪个数据库?
如果您可以在github.com/flyway/flyway/issues上创建一个带有复制步骤的问题,那么团队将为您进行调查。
发布于 2020-05-28 21:04:56
在我的例子中,错误发生在从flyway版本5.x升级到6.4.3的时候。flyway_schema_history表(至少在PostgreSQL中)的installed_on列的定义已从:
installed_on timestamp NOT NULL;至:
installed_on timestamp NOT NULL DEFAULT now ()在现有表上添加DEFAULT now()已解决此问题。
https://stackoverflow.com/questions/61489782
复制相似问题