2010-06-28 5 views
5

grails DataSource.groovy 파일의 createdb 속성에 의존하는 부트 스트랩을 만들고 싶습니다. 설정이 '생성'인 경우 설정이 '업데이트'인 경우 새 마스터 데이터를 생성해야합니다.부트 스트랩에서 grails datasource createdb 속성을 얻는 방법

GrailsDataSource in the Grails API도 getCreateDb 메소드가 있지만 각 부트 스트랩 환경에서 부트 스트랩에서 액세스하는 방법을 모르겠습니다.

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... 
} 

답변

3

가장 쉬운 방법은,는 config에서 때 dbCreate의 값을 확인과 같이하는 아마 :

def grailsApplication 

if(grailsApplication.config.dataSource.dbCreate == 'create'){ 
    ... 
} 

ApplicationHolder는 현재 사용되지 않으며 작동하지 않습니다.

누군가 도움이되기를 바랍니다.

+0

정확히 내가 무엇을 찾고 있었습니까, 감사합니다! –

9

BootStrap.groovy에 최신 때 dbCreate 속성을 얻는 방법은 주입되어 '의 GrailsApplication'

0

ataylor의 답변은 권장되지 않습니다. How to access Grails configuration in Grails 2.0?을 참조하십시오.

또한 canotto90에서 주입 def grailsApplication은 BootStrap의 init closure 외부에 있어야한다고 대답해야합니다. 다른 방법으로 당신은 NPE를 얻습니다.