【问题标题】:Flyway migration fails with Kotlin使用 Kotlin 的 Flyway 迁移失败
【发布时间】:2020-02-25 17:07:19
【问题描述】:

我正在尝试将我们的 Spring Boot 应用程序从 java 迁移到 kotlin。 我遇到的问题是当应用程序启动时,它运行失败的 flyway 迁移脚本:

INSERT IGNORE INTO types VALUES ('some-id', 'xx', 'xxxxx');

但是,Java spring boot 应用可以正常工作吗?

删除 IGNORE 可解决此问题。但我不确定为什么它会在 kotlin 上失败,但在 java 上可以工作。

错误:

-------------------------------------------------
SQL State  : 42001
Error Code : 42001
Message    : Syntax error in SQL statement "INSERT IGNORE[*] INTO TYPES VALUES ('some-id', 'xx', 'xxxxx') "; expected "INTO"; SQL statement:
INSERT IGNORE INTO attribute_types VALUES ('some-id', 'xx', 'xxxx') [42001-199]

【问题讨论】:

    标签: java sql kotlin flyway


    【解决方案1】:

    可能是你没有正确的列匹配尝试使用 eplicit 列子句

    INSERT IGNORE INTO types (col1_for_some_id, col2_for_xx , col3_for_xxxx) 
    VALUES ('some-id', 'xx', 'xxxxx');
    

    【讨论】:

    • 刚刚检查了它的 h2
    • 不允许在 h2 中插入忽略
    猜你喜欢
    • 2020-05-24
    • 2019-01-16
    • 2012-07-21
    • 2012-08-09
    • 2014-08-02
    • 2017-12-11
    • 2019-04-28
    • 2012-05-17
    • 2020-07-04
    相关资源
    最近更新 更多