2015-10-09 1 views
2

J'essaie d'exclure deux tables créées par Liquibase lors de l'utilisation de TypeSafe Config.La génération de code Jooq "exclut" ne fonctionne pas avec la configuration de typeafe

jooq { 
    # databasechangelog = Liquibase generated tables 
    # databasechangeloglock = Liquibase generated tables 
    excludes = "databasechangelog, databasechangeloglock" 
    } 

Quand je ne proposent que l'on exclut tels que "databsechangelog", cela fonctionne.

Plus d'un exclues doit être séparé par une virgule (http://www.jooq.org/doc/2.6/manual/code-generation/codegen-configuration/), mais à la place, il génère les deux tables.

Cela n'est pas autorisé non plus.

excludes = "databasechangelog", "databasechangeloglock"

l'intérieur de la bibliothèque, son simplifiant l'appel de cette (note: getExcludes est un String)

database.setExcludes(new String[]{StringUtils.defaultString(d1.getExcludes())}); 

Quelqu'un at-il rencontré ce problème?

Voilà ma génération de code

 new GenerationTool { 
     setConnection(connection) 
     run(new Configuration { 
      withGenerator(new Generator { 
      withName(config.jooq.generatorClass) 
      withDatabase(new org.jooq.util.jaxb.Database { 
       withIncludes(config.jooq.includes) 
       withExcludes(config.jooq.excludes) 
       withInputSchema(config.jooq.inputSchema) 
       withName(config.jooq.databaseClass) 
      }) 
      withTarget(new Target { 
       withPackageName(config.jooq.pkg) 
       withDirectory(config.jooq.directory) 
      }) 
      withGenerate(new Generate { 
       setDaos(true) 
      }) 
      }) 
     }) 
     } 
+0

[Pour mémoire, cette question a été posée également sur le jOOQ groupe d'utilisateurs] (https://groups.google.com/forum/#!topic/jooq-user/WjbJoc9Uh8Y) –

Répondre

0

Vous faites référence au manuel de la version 2.6. Autrefois, nous utilisions des listes d'expressions séparées par des virgules dans includes/excludes - mais croyez-le ou non, certaines personnes avaient des virgules dans leurs noms de tables/colonnes, ce qui explique pourquoi nous avons déposé les virgules. Après tout, inclut/exclut ne sont que des expressions régulières, et vous pouvez séparer vos modèles individuels en utilisant le "opérateur de l'union", le tuyau: |

I.e. écrire:

jooq { 
    # databasechangelog = Liquibase generated tables 
    # databasechangeloglock = Liquibase generated tables 
    excludes = "databasechangelog|databasechangeloglock" 
} 

Ceci est également documenté ici dans la section « transfert de fonction » (cherchez « séparés par des virgules »): http://www.jooq.org/doc/latest/manual/reference/migrating-to-3.0