Hoe te gebruiken JOOQ Java Generator is inclusief en exclusief

stemmen
0

De JOOQ Java-code generatie gereedschappen gebruikt reguliere expressies gedefinieerd in de includes en sluit elementen om te bepalen wat wordt opgewekt. Ik kan een uitleg van wat het schema structuur is dat deze uitdrukkingen worden uitgevoerd tegen te vinden.

Ik wil de mogelijkheid om specifieke databases in de server, alsmede tafels uitsluiten op basis prefix of specifiek te hebben.

Eenvoudige voorbeelden:

  • Gegeven een SQL server met twee DBS 'A' en 'B', hoe kan ik instrueren JOOQ om alleen te genereren voor tafels in DB 'A'?

  • Hoe in te instrueren JOOQ om alleen te genereren voor tafels die beginnen met het voorvoegsel qtbl?

Het zou geweldig zijn als er een aantal voorbeeld use cases beschikbaar waarop een aantal eenvoudige gemeenschappelijke configuraties waren.

De vraag is gesteld op 13/01/2020 om 23:55
bron van user
In andere talen...                            


1 antwoorden

stemmen
0

De jOOQ handleiding sectie over omvat en uitsluit , evenals een paar andere delen dat de code generator gebruik van reguliere expressies uit te leggen aan identifier stelt vast dat de code generator altijd zal proberen aan te passen:

  • Pas volledig gekwalificeerd identifiers
  • Pas goedkeurende identifiers

Of, als u jOOQ 3.12+ en niet uit te schakelen <regexMatchesPartialQualification/>:

  • Pas gedeeltelijk gekwalificeerde identifiers (zie # 7947 )

Bijvoorbeeld:

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

In aanvulling op het bovenstaande, als u specifieke databases ( "catalogi") uit te sluiten van wordt gegenereerd zonder patroonherkenning, dan heb je nog betere resultaten te krijgen als je je opgeeft <inputCatalog>A</inputCatalog>. Zie ook de sectie handleiding van de ongeveer schema mapping .

Voordelen zijn onder andere een veel snellere code generatie, omdat alleen die catalogus wordt gezocht naar objecten te genereren, voordat ze met uitzondering van opnieuw met behulp van reguliere expressies. Dus, kan uw configuratie dit:

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

<!-- Include only tables with this (unqualified) prefix -->
<includes>qtbl.*</includes>
antwoordde op 14/01/2020 om 12:09
bron van user

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