【问题标题】:Spring EmbeddedDatabase with Derby requiring schema带有 Derby 的 Spring EmbeddedDatabase 需要模式
【发布时间】:2016-07-08 17:06:51
【问题描述】:

我正在尝试设置 EmbeddedDatabase 以在 Spring 中进行测试,但出现以下错误:java.sql.SQLSyntaxErrorException: Schema 'SA' does not exist

来自以下代码:

private DataSource dataSource() {
            return new EmbeddedDatabaseBuilder()
                    .generateUniqueName(true)
                    .setType(EmbeddedDatabaseType.DERBY)
                    .addScript("tables_data.sql")
                    .build();
        }

SQL 是:

CREATE TABLE person (
     id    BIGSERIAL,
     name  varchar(200)
);

已经搜索了几个小时。还没找到解决办法。

【问题讨论】:

    标签: spring derby


    【解决方案1】:

    您是否尝试过简单的creating an SA schema?老实说,我从未使用过 Derby,但我学到的一件事是,任何时候你将两个框架一起使用,总会有一些小怪癖。

    【讨论】:

      【解决方案2】:

      只需在 SQL 的顶部添加 CREATE SCHEMA 行。所以你的 SQL 应该是这样的:

      CREATE SCHEMA SA;
      
      CREATE TABLE person (
           id    BIGSERIAL,
           name  varchar(200)
      );
      

      【讨论】:

        猜你喜欢
        • 2021-12-10
        • 2012-04-19
        • 1970-01-01
        • 2016-12-06
        • 2017-04-10
        • 2013-03-29
        • 2014-06-15
        • 2020-09-18
        • 2012-01-17
        相关资源
        最近更新 更多