4

私のConfig.groovy行に入れます:

grails.config.locations = [ "classpath:app-config.properties"]

ここで、データソースの定義を設定します。ファイルは次のようになります:

dataSource.url=jdbc:mysql://host/instance
dataSource.username=u
dataSource.password=p

からのプロパティを適切に置き換えますDataSource.groovy

問題は、すべての環境の構成を置き換えることですが、開発、テスト、および本番用に個別の構成が必要です。次のようなさまざまなエントリをファイルに入れようとしています。

environments.development.dataSource.url=jdbc:mysql://host/dev
...
environments.production.dataSource.url=jdbc:mysql://host/prod
...

で定義されたデフォルトのデータソースプロパティで終了しますDataSource.groovy。1つのプロパティファイルをさまざまな環境で機能させるにはどうすればよいですか?

4

1 に答える 1

8

考えられるアプローチはいくつかあります。ここにいくつかあります:

  1. 現在の環境名を外部構成ファイル名に埋め込みます。

    grails.config.locations = [ "classpath:app-${grails.util.Environment.current.name}-config.properties"]

    これにより、開発モード、テストなどでapp-development-config.propertiesロードされます。app-test-config.properties

  2. .groovyの代わりに config 形式を使用します.properties。構成.groovyファイルを使用すると、environment { ... }ブロックを使用できます。

于 2013-03-13T16:27:43.533 に答える