Jak používat JOOQ Java generátor zahrnuje a vylučuje

hlasů
0

Nástroje generování kódu JOOQ Java používá regulární výrazy definované v zahrnuje a nezahrnuje prvky, které mají kontrolovat, co je generován. Nemůžu najít vysvětlení toho, co je struktura schématu je, že tyto výrazy jsou spouštěny proti.

Chci mít možnost vyloučit konkrétní databáze na serveru, stejně jako tabulky podle prefixu nebo specificky.

Jednoduché příklady:

  • Vzhledem k tomu, SQL server se dvěma DBS ‚A‘ a ‚B‘, jak mohu poučit JOOQ generovat pouze tabulky v DB ‚A‘?

  • Jak se v poučit JOOQ pouze generovat pro tabulky začínající prefixem „qtbl“?

Bylo by skvělé, kdyby tam byly některé případy, příklad užití prokazuje několik jednoduchých běžných konfigurací.

Položena 13/01/2020 v 23:55
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
0

Ruční část jOOQ o zahrnuje a vylučuje , stejně jako několik dalších sekcí, které vysvětlují jejich použití generátoru kódů v regulárních výrazů, aby odpovídaly identifikátoru zjistí, že generátor kódu bude vždy snažit, aby:

  • Odpovídaly plně kvalifikované identifikátory
  • Shodovat nekvalifikované identifikátory

Nebo, pokud používáte jOOQ 3.12+ a neměl vypnout <regexMatchesPartialQualification/>:

  • Odpovídaly částečně kvalifikované identifikátory (viz # 7947 )

Například:

<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>

Kromě výše uvedeného, pokud chcete vyloučit určité databáze ( „katalogy“) od generování bez vzorů, dostanete ještě lepších výsledků, pokud zadáte vaší <inputCatalog>A</inputCatalog>. Viz také sekce manuálu se o mapování schématu .

Mezi výhody patří mnohem rychlejší generování kódu, protože jen to, že katalog bude vyhledávat objekty vytvářet, před nimi opět s výjimkou pomocí regulárních výrazů. Takže vaše konfigurace může být následující:

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

<!-- Include only tables with this (unqualified) prefix -->
<includes>qtbl.*</includes>
Odpovězeno 14/01/2020 v 12:09
zdroj uživatelem

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