BootstrapをgrailsDataSource.groovyファイルのcreatedbプロパティに依存させたいのですが。設定が「作成」の場合、新しいマスターデータが生成されます。設定が「更新」の場合、なしです。
getCreateDbメソッドもあるGrailsAPIでGrailsDataSourceを見つけましたが、それぞれのBootstrap環境のBootstrapからアクセスする方法がわかりません。
BootstrapをgrailsDataSource.groovyファイルのcreatedbプロパティに依存させたいのですが。設定が「作成」の場合、新しいマスターデータが生成されます。設定が「更新」の場合、なしです。
getCreateDbメソッドもあるGrailsAPIでGrailsDataSourceを見つけましたが、それぞれのBootstrap環境のBootstrapからアクセスする方法がわかりません。
dbCreateプロパティを取得する最新の方法は、BootStrap.groovyに「grailsApplication」を挿入することです。
def grailsApplication
if(grailsApplication.config.dataSource.dbCreate == 'create'){
...
}
ApplicationHolderは非推奨になり、動作させることができませんでした。
それが誰かを助けることを願っています。
最も簡単な方法は、おそらく次のように、構成から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...
}
ataylorからの回答は廃止されました。Grails2.0でGrails構成にアクセスする方法を参照してください。。
def grailsApplication
また、canotto90の回答では、注入はBootStrapのinitクロージャの外側に表示される必要があることに注意してください。他の方法であなたはNPEを取得します。