我想要將屬性存儲在數據庫表中,併爲在Config.groovy
中設置的屬性設置默認值。例如,我想提出一個默認的電子郵件地址的Config.groovy:數據庫中的屬性
app.send.report.to = '[email protected]'
,然後可以在數據庫表(key
,value
列...)來覆蓋它。
是否有插件(或Grails中的功能)來做到這一點?
我想要將屬性存儲在數據庫表中,併爲在Config.groovy
中設置的屬性設置默認值。例如,我想提出一個默認的電子郵件地址的Config.groovy:數據庫中的屬性
app.send.report.to = '[email protected]'
,然後可以在數據庫表(key
,value
列...)來覆蓋它。
是否有插件(或Grails中的功能)來做到這一點?
它存儲的配置屬性在ConfigProperty域和利用Config.groovy
和數據庫合併屬性:
grailsApplication.config.merge(configObject)
你可能想看看插件的源碼。如果插件不適合你,你可以實現類似的東西。
當您有用於編輯配置屬性的UI時,此方法非常有用。
Grails沒有我知道的覆蓋數據庫配置值的功能,但它不應該那麼難。在您的Config.groovy
中,您可以放置默認值,然後作爲引導過程的一部分,您可以生成一個臨時配置文件,該文件包含來自數據庫的值(可以使用簡單的查詢和對結果的迭代來生成臨時文件) 。將該臨時文件包含爲您的某個grails配置位置,並且它將覆蓋Config.groovy
中的任何值
如果您的目標是擁有多個grails應用程序使用的共享配置文件,那麼您也可以查看使用像Zookeeper這樣的東西來管理共享配置,但這對於單個配置文件可能有點矯枉過正。
不是你所要求的,但取決於你想達到什麼樣的外部配置重新加載插件可能是有用的。它可以幫助您覆蓋默認屬性(運行時),但不能使用數據庫。