【问题标题】:null value in column "installed_on" violates not-null constraint“installed_on”列中的空值违反非空约束
【发布时间】:2020-08-12 19:58:16
【问题描述】:

我们通过处理旧的 flyway 托管数据库创建了一个新数据库。 (flyway版本表也复制过来了)

针对这个新数据库运行 flyway 会产生以下 flyway 错误

4 月 24 日 19:00:19 ip-xx flyway:无法在模式历史记录表“public”中插入版本“184”的行。“flyway_schema_history” 4 月 24 日 19:00:19 ip--xx flyway: ------------------------------------------------- -------------------------------------------------- -------- 4 月 24 日 19:00:19 ip--xx flyway:SQL 状态:23502 Apr 24 19:00:19 ip--xx flyway: 错误代码: 0 4 月 24 日 19:00:19 ip--xx flyway:消息:错误:“installed_on”列中的空值违反非空约束

【问题讨论】:

  • 您现在使用哪个版本的 flyway 以及在旧数据库上使用哪个版本?您能告诉我们您使用的是哪个数据库吗?

标签: flyway


【解决方案1】:

您使用的是哪个版本的 Flyway,在您移动数据库时它是否发生了变化?你用的是哪个数据库?

如果您可以在 github.com/flyway/flyway/issues 上通过重现步骤创建问题,那么团队将为您进行调查。

【讨论】:

    【解决方案2】:

    在我的情况下,从 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() 已解决问题。

    【讨论】:

      猜你喜欢
      • 2021-11-02
      • 1970-01-01
      • 2016-02-14
      • 2017-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-28
      • 2021-03-30
      相关资源
      最近更新 更多