Many thanks as always Lukas, I think perhaps the renderSchema flag is the option I need.
Ian. On Sun, Sep 16, 2012 at 9:16 AM, Lukas Eder <lukas.e...@gmail.com> wrote: > Hi Ian, > > The bottom of the documentation page suggested by Sergey indicates > another manual page, explaining how to hard-wire mappings at > code-generation time > > http://www.jooq.org/doc/2.5/manual/sql-building/factory/runtime-schema-mapping/#N105ED > > It links here: > http://www.jooq.org/doc/2.5/manual/code-generation/schema-mapping/ > > In your case, you would probably need different code generation > settings when code is generated from staging or production databases. > Note also that you can map several schemata (staging and production) > to a single one (staging or production). > > Another option is to use a "default schema" at runtime: > > http://www.jooq.org/doc/2.5/manual/sql-building/factory/runtime-schema-mapping/#N105C6 > > Or use the renderSchema flag from the runtime settings: > http://www.jooq.org/xsd/jooq-runtime-2.5.0.xsd > > That way, you can tell jOOQ not to render any schema names in rendered > SQL. This will mean that you'll have to set the schema in your JDBC > connection, of course. > > Hope this helps > > Cheers > Lukas > > 2012/9/16 Ian Clarke <ian.cla...@gmail.com>: > > Thanks for the reply Sergey, but what if I don't know the schema name > used > > in the generated code? In our setup this varies depending on whether > we're > > deploying to staging or production. > > > > Ian. > > > > > > On Wednesday, September 12, 2012 12:10:18 PM UTC-5, Sergey Epik wrote: > >> > >> Hello Ian, > >> > >> Take a look: > >> > >> > http://www.jooq.org/doc/2.5/manual/sql-building/factory/runtime-schema-mapping/ > >> > >> here is example: > >> > >> Factory factory = new Factory( > >> transactionAwareDataSource(), > >> SQLDialect.ORACLE, > >> new Settings() > >> .withRenderMapping(new RenderMapping() > >> .withSchemata(new MappedSchema() > >> .withInput("PROJ") > >> .withOutput("PROJ_PROD"))) > >> ); > >> > >> where "PROJ" - is staging schema name (this name is used in generated > >> code). > >> "PROJ_PROD" - production schema > >> > >> -- > >> > >> On Wed, Sep 12, 2012 at 7:32 PM, Ian Clarke <ian.c...@gmail.com> wrote: > >>> > >>> I asked this before I think but Jooq has had a few releases since then. > >>> > >>> How do I force Jooq to use a particular database schema (I'm using > >>> MySql), regardless of which schema was used to generate the sources? > >>> > >>> With our current setup, we generate sources from a staging or > production > >>> schema, depending on whether it's our staging platform or our > production > >>> code. > >>> > >>> But in one particular instance, I want my code to use the staging > schema > >>> regardless of whether the sources were generated from our staging or > >>> production schema. > >>> > >>> Is this possible? > >>> > >>> Thanks, > >>> > >>> Ian. > >>> > >>> -- > >>> Ian Clarke > >>> Blog: http://blog.locut.us/ > >>> > >> > > > -- Ian Clarke Blog: http://blog.locut.us/