Grails 2.1:如何使用“schema-export export”?

时间:2012-08-24 12:58:16

标签: hibernate grails grails-2.0

我想(重新)使用命令“schema-export”创建我的数据库模式。 DDL生成工作正常,但如果我执行“schema export export”,我会收到以下错误,这表示配置文件中缺少某些内容。

grails> dev schema-export export
| Compiling 1 source files.....
Exporting in environment 'development' for the default DataSource
| Error 2012-08-24 14:45:57,466 [main] ERROR hbm2ddl.SchemaExport  - schema export unsuccessful
Message: No local DataSource found for configuration - 'dataSource' property must be set on LocalSessionFactoryBean
  Line | Method
->> 61 | doCall in SchemaExport$_run_closure1
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| Error 2012-08-24 14:45:57,472 [main] ERROR hbm2ddl.SchemaExport  - schema export unsuccessful
Message: No local DataSource found for configuration - 'dataSource' property must be set on LocalSessionFactoryBean
  Line | Method
->> 64 | doCall in SchemaExport$_run_closure1
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

我的DataSource.groovy定义了一个“dataSource”:

dataSource {
    pooled = true
    driverClassName = "com.mysql.jdbc.Driver"
}
...
environments {
    development {
        dataSource {
            username = "xxx"
            password = "yyy"
            url = "jdbc:mysql://localhost:3306/chrono_dev?autoreconnect=true"
        }
    }
    ...
}

有关如何修复此错误的任何建议吗?

3 个答案:

答案 0 :(得分:1)

语法略有不同:

grails dev schema-export // no export

根据这个:

http://grails.org/doc/2.1.0/ref/Command%20Line/schema-export.html

如果您正在进行导入,您可能需要描述数据源:

grails dev schema-export export --datasource=auditing

您尝试导入的ddl的名称是什么?

答案 1 :(得分:0)

一些建议:

  • 尝试在每个环境块中定义整个数据源(而不是使用全局共享数据源)。我以前在DataSource.groovy中遇到过这类设置的麻烦。
  • 在数据源定义中为MYSQL添加方言行。方言= org.hibernate.dialect.MySQL5InnoDBDialect
  • 如果这些都不起作用,您可以始终只需两步即可完成此操作。将模式导出转储到文件(没有'export'选项),然后将其输出粘贴到SQL编辑器中并运行。

答案 2 :(得分:0)

我不确定为什么现在有效,但确实如此。我已经切换到Postgres,也许它与此有关。 很抱歉打扰你。