如何在bootstrap中获取grails数据源createdb属性

Jör*_*yer 5 grails bootstrapping datasource

我想让我的Bootstrap依赖于grails DataSource.groovy文件中的createdb属性.当设置为"创建"时,如果设置为"更新",则应生成新的主数据,无.

在Grails API中找到了GrailsDataSource,它也有一个方法getCreateDb,但我不知道如何从Bootstrap中为各自的Bootstrap环境访问它.

Tom*_*ero 9

获取dbCreate属性的最新方法是向BootStrap.groovy注入'grailsApplication':

def grailsApplication

if(grailsApplication.config.dataSource.dbCreate == 'create'){
    ...
}
Run Code Online (Sandbox Code Playgroud)

ApplicationHolder现已弃用,我无法使用它.

希望它可以帮助某人.


ata*_*lor 3

最简单的方法可能是从配置中检查 dbCreate 的值,如下所示:

import org.codehaus.groovy.grails.commons.ApplicationHolder

if (ApplicationHolder.application.config.dataSource.dbCreate == "create") {
    ...do create stuff...
} else if (ApplicationHolder.application.config.dataSource.dbCreate == "update") {
    ...do update stuff...
}
Run Code Online (Sandbox Code Playgroud)