Grailsでは開発環境、テスト環境、本番環境で利用するデータベースを切り替えるなど、実行環境によって読み込むデータなどを変更出来ます。
Grailsはデフォルトで dev , test , prod という環境が用意されています。
Grailsに環境を渡すには以下の3つの方法が有ります。
1. grails
コマンドでインタラクティブモードに入る際に環境を指定する。
2.grails
コマンドでGrailsを起動する際に環境を指定する。
3. インタラクティブモード時にコマンドの先頭に環境を指定する。
独自の環境をGrailsに渡す事も出来ますが、上記の1番と2番の方法でないとGrailsに正しく環境を渡す事が出来ません。
1番の場合だと以下のようになります。
grails -Dgrails.env=koji
テストとして以下のようなBootstrap.groovyを記述します。
Bootstrap.groovy
class BootStrap {
def init = { servletContext ->
environments {
development {
println "development!"
}
test {
println "test!"
}
production {
println "production!"
}
koji {
println "koji!"
}
}
}
def destroy = {
}
}
この状態でgrails -Dgrails.env=koji
を実行してインタラクティブモードに入ってから、run-app
でGrailsを起動すると、 koji! と表示されます。
デフォルトの環境の場合、Grailsに渡す環境とソースで記述する各環境に対応した記述が異なります。
渡す環境 | ソース上の記述 | メモ |
---|---|---|
dev | development | デフォルト。指定しない場合はこれになる |
test | test | テスト用 |
prod | production | 本番環境用 |