プロパティをデータベース テーブルに保存し、それらのプロパティのデフォルトを に設定したいと考えていますConfig.groovy
。たとえば、デフォルトのメール アドレスを Config.groovy に入れたいとします。
app.send.report.to = 'me@example.com'
key
そして、データベーステーブル( 、value
列...)でこれをオーバーライドできます。
これを行うためのプラグイン (または grails 内の機能) はありますか?
プロパティをデータベース テーブルに保存し、それらのプロパティのデフォルトを に設定したいと考えていますConfig.groovy
。たとえば、デフォルトのメール アドレスを Config.groovy に入れたいとします。
app.send.report.to = 'me@example.com'
key
そして、データベーステーブル( 、value
列...)でこれをオーバーライドできます。
これを行うためのプラグイン (または grails 内の機能) はありますか?
Dynamic Config Pluginがあります。
構成プロパティを ConfigProperty ドメインに保存し、Config.groovy
次を使用してデータベースとの間でプロパティをマージします。
grailsApplication.config.merge(configObject)
プラグインのソース コードを確認することをお勧めします。プラグインが機能しない場合は、これに似たものを実装できます。
このアプローチは、構成プロパティを編集するための UI がある場合に役立ちます。
Grails には、データベースから構成値をオーバーライドする機能はありませんが、それほど難しくはないはずです。Config.groovy
デフォルトを設定し、ブートストラップ プロセスの一部として、データベースからの値を持つ一時構成ファイルを生成できます (単純なクエリと結果に対する反復を使用して、その一時ファイルを生成できます) 。その一時ファイルを grails 構成の場所の 1 つとして含めると、Config.groovy
複数の grails アプリケーションで使用される共有構成ファイルを作成することが目標である場合は、Zookeeper などを使用して共有構成を管理することも検討できますが、単一の構成ファイルには少しやり過ぎかもしれません。
あなたが求めているものとはまったく異なりますが、何を達成したいかによっては、External Configuration Reload プラグインが役立つ場合があります。デフォルトのプロパティを(実行時に)オーバーライドするのに役立ちますが、DB を使用することはできません。