使用Postgresql的Grails:无法在适当的模式中创建表

时间:2017-09-18 20:01:06

标签: grails grails-3.3

我想将 Grails 3.3.0 Postgresql数据库以及三个架构一起使用:openlearning,data和contrib。 在域类中,我指定了我想要的模式(见下文)。 我的问题是表只在公共模式中创建,而不是在适当的模式中创建。

如何在正确的架构中创建表?

注意:表都是在公共模式中创建的。其他模式已创建但是为空。它们不包含任何表。

问题域类:

package fr.dr.openlearning
class Question {

 static mapping = {
 id generator: 'increment',params:[sequence:'incr']
 schema : "data"
}

application.yml:

dataSource:
  driverClassName: org.postgresql.Driver
  url: jdbc:postgresql://localhost:5432/openlearning
  username: postgres
  password: XXX
  pooled: true
  jmxExport: true


environments:
    development:
        dataSource:
            dbCreate: create-drop
        dataSources:
            data:
              dbCreate: create-drop
            contrib:
              dbCreate: create-drop

2 个答案:

答案 0 :(得分:1)

在application.yml文件中,将dbCreate:create-drop更改为   dbCreate:create

答案 1 :(得分:1)

请按照以下步骤操作:

  1. 在数据库中以超级管理员
  2. 创建新架构
  3. application.yml
  4. 中将您的用户名和密码更改为新架构
  5. 将您的dbCreate: create-drop更改为dbCreate: update