【问题标题】:Spring Test H2 Flyway - error in sql statementSpring Test H2 Flyway - sql语句中的错误
【发布时间】:2022-02-01 22:13:55
【问题描述】:

我有以下 sql 迁移,它不适用于 h2。如果我删除以下 SQL - 一切正常。我该如何解决?

SQL State  : 42001
Error Code : 42001
Message    : Syntax error in SQL statement "CREATE TABLE USER_AUTHORITY
(
    USER_AUTHORITY_ID  BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
    USER_ID            BIGINT REFERENCES USR (USER_ID)            NOT NULL[*],
    AUTHORITY_ID       BIGINT REFERENCES AUTHORITY (AUTHORITY_ID) NOT NULL,
    OPERATION          VARCHAR(2)                                 NOT NULL,
    CREATION_DATETIME  TIMESTAMP WITH TIME ZONE                   NOT NULL,
    MODIFYING_DATETIME TIMESTAMP WITH TIME ZONE                   NOT NULL
)"; expected "DEFERRABLE";
Location   : db/migration/V1__Schema.sql (/home/v/IdeaProjects/stocky/user-service/build/resources/main/db/migration/V1__Schema.sql)
Line       : 29
Statement  : create table user_authority

【问题讨论】:

    标签: h2 flyway spring-test


    【解决方案1】:

    这是解析器的错误。我填写了一个关于它的新问题: https://github.com/h2database/h2database/issues/3413

    您可以在REFERENCES 之前指定NOT NULL 作为解决方法。

    USER_ID BIGINT NOT NULL REFERENCES USR (USER_ID),
    AUTHORITY_ID BIGINT NOT NULL REFERENCES AUTHORITY (AUTHORITY_ID),
    

    【讨论】:

    • 非常感谢,它成功了
    猜你喜欢
    • 2019-11-18
    • 1970-01-01
    • 2015-06-19
    • 2015-10-19
    • 2013-06-15
    • 1970-01-01
    • 2017-10-31
    • 1970-01-01
    • 2023-02-06
    相关资源
    最近更新 更多