Grails 2.4.2 - Динамическая ссылка на источник данных по умолчанию
На этот вопрос ответили частичноВот но по-прежнему существует проблема с динамической ссылкой на источник данных по умолчанию.
Я работаю над внутренним приложением, которое позволяет разработчикам изменять настройки конфигурации для одного из наших мультитенантных приложений и переносить эти настройки с dev на тестирование, подготовку и производство. Каждый из них будет иметь свой собственный источник данных, и приложение Grails будет установлено на компьютер каждого разработчика.
Локальный источник данных будет источником по умолчанию, а затем dataSource_testing, dataSource_staging и т. Д. Будут ссылаться на соответствующие среды.
Я могу динамически ссылаться на удаленные источники данных следующим образом:
def setting = Setting."${params.environmnet}".get(id)
Однако еслиparams.environment
ссылается на источник данных по умолчанию, этот код больше не работает. В документации по настройке классов домена говорится:
Если класс домена использует источник данных по умолчанию и один или несколько других, используйте специальное имя «ПО УМОЛЧАНИЮ», чтобы указать источник данных по умолчанию
Увидетьдокументация
Похоже, это работает при определении того, к каким источникам данных применим ваш класс домена, но не может ссылаться на ваш класс домена, например:def setting = Setting.DEFAULT.get(id)
, Вы получаете сообщение об ошибке:
Нет такого свойства: DEFAULT для класса ...
я действительнодействительно не нужно перепроектировать приложение, чтобы источник данных по умолчанию не использовался, а затем создать новыйdataSource_local
источник данных. Если бы я мог избежать этого, было бы здорово, так как это означает обновление стеков кода, применимых только к локальному источнику данных.
Итак, мой вопрос ... есть ли способ динамически ссылаться на источник данных по умолчанию?