Как использовать JOOQ Java Генератор включает в себя и исключает

голоса
0

Инструменты генерации кода JOOQ Java использует регулярные выражения, определенные в включает и исключает элементы для контроля того, что генерируется. Я не могу найти объяснение того, что структура схемы является то, что эти выражения набегать.

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

Простые примеры:

  • Учитывая SQL-сервер с двумя DBS «A» и «B», как я проинструктировать JOOQ генерировать только для таблиц в БД «A»?

  • Как в инструктирует JOOQ, чтобы генерировать только для таблиц, начинающихся с префикса «qtbl»?

Было бы замечательно, если бы было несколько случаев, например, использовать доступные показывая некоторые простые общие конфигурации.

Задан 13/01/2020 в 23:55
источник пользователем
На других языках...                            


1 ответов

голоса
0

Раздел руководства jOOQ о включает в себя и не включает , а также несколько других разделов , которые объясняют использование кода генератора в регулярных выражениях , чтобы соответствовать идентификатору устанавливает , что генератор коды всегда будет пытаться:

  • Матч полностью квалифицированные идентификаторы
  • Матч неквалифицированных идентификаторов

Или, если вы используете jOOQ 3.12+ и не выключать <regexMatchesPartialQualification/>:

  • Матч частично квалифицированные идентификаторы (см # 7947 )

Например:

<excludes>
  (?i:                      # Using case insensitive regex for the example
       database_prefix.*?\. # Match a catalog prefix prior to the qualifying "."
       .*?\.                # You don't seem to care about schema names, so match them all
       table_prefix.*?      # Match a table prefix at the end of the identifier
  )
</excludes>

В дополнении к вышесказанному, если вы хотите , чтобы исключить определенные базы данных ( «каталоги») от генерируются без сопоставления с образцом, вы получите еще лучшие результаты , если вы укажете <inputCatalog>A</inputCatalog>. Смотрите также в разделе руководства к о схеме сопоставления .

Преимущества включают в себя гораздо быстрее генерации кода, потому что только что каталог будет искать объекты для создания, до исключения их снова с помощью регулярных выражений. Таким образом, конфигурация может быть такой:

<!-- Include only database A -->
<inputCatalog>A</inputCatalog>

<!-- Include only tables with this (unqualified) prefix -->
<includes>qtbl.*</includes>
Ответил 14/01/2020 в 12:09
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more