【问题标题】:Generating DDL from objects jooq 3.9.0 and 3.9.1从对象 jooq 3.9.0 和 3.9.1 生成 DDL
【发布时间】:2017-08-02 22:37:39
【问题描述】:

我目前正在使用 jooq,对于我的单元测试,我使用内存中的 H2 DB,在其中我使用 jooq 生成的元数据创建表,如中所述 https://www.jooq.org/doc/3.9/manual/sql-building/ddl-statements/generating-ddl/

使用 3.8.4 可以正常工作,但升级到 3.9.0(或 3.9.1)时出现错误:

Queries queries = dslContext.ddl(DefaultSchema.DEFAULT_SCHEMA);
    for (Query query : queries.queries()) {
        query.execute();
    }

错误:

java.lang.ArrayIndexOutOfBoundsException: -1

at org.jooq.impl.SchemaImpl.<init>(SchemaImpl.java:78)
at org.jooq.impl.DSL.schema(DSL.java:7199)
at org.jooq.impl.DefaultDSLContext.createSchema(DefaultDSLContext.java:2605)
at org.jooq.impl.DefaultDSLContext.createSchema(DefaultDSLContext.java:2600)
at org.jooq.impl.DDL.queries(DDL.java:112)
at org.jooq.impl.DefaultDSLContext.ddl(DefaultDSLContext.java:2487)
at org.jooq.impl.DefaultDSLContext.ddl(DefaultDSLContext.java:2482)

【问题讨论】:

    标签: java jooq


    【解决方案1】:

    感谢您的报告。这是 jOOQ 3.9.0 和 3.9.1 中的错误。我为此创建了https://github.com/jOOQ/jOOQ/issues/5979

    一种解决方法是在此处排除模式生成:

    Queries queries = dslContext.ddl(DefaultSchema.DEFAULT_SCHEMA, DDLFlag.TABLE, ...);
    

    【讨论】:

      猜你喜欢
      • 2019-08-22
      • 2011-07-23
      • 1970-01-01
      • 2020-09-15
      • 2015-09-16
      • 1970-01-01
      • 2014-03-06
      • 2022-01-12
      相关资源
      最近更新 更多