Как определить пользовательское сопоставление таблиц с помощью записи Config.groovy в Grails

Я разрабатываю плагин, которому нужна определенная конфигурация индекса в сопоставлении таблиц.

static mapping = {
    myProperty index:'myProperty_Idx'
}

Есть ли какой-то способ позволить пользователям плагинов решить, хотят ли они использовать это сопоставление или нет, через файл Config.groovy?


person ricardogobbo    schedule 19.11.2014    source источник


Ответы (1)


Я считаю, что вы можете прочитать переменные конфигурации прямо из вашего блока сопоставления.

Итак, эта строка в приложении, использующем Config.groovy вашего плагина

grails.myplugin.useIndexForFoo = true

Должен позволить вам иметь настраиваемый класс домена, такой как

class Foo
{
    String myString

    static mapping = {
        if (Holders.config?.grails?.myplugin?.useIndexForFoo)
            myString index: "myString_idx"
    }
}

Примечание. Я использовал держатели, а не вводил bean-компонент grailsApplication, потому что конфигурация сопоставления является статической - не знаю, оптимально это или нет.

person Poundex    schedule 19.11.2014