Hi Mark, Can you post that exception, including the SQL statement that goes wrong? Also, in case you don't really want to work with any schemas at all, you can also turn off Settings.renderSchema...
Cheers, Lukas 2016-09-27 8:31 GMT+02:00 Mark Manders <[email protected]>: > I have a Spring Boot application and generating the code works fine from a > PostgreSQL database. > When running the Spring Boot integration tests I get an error message > saying that the schema 'public' doesn't exist. > I used 'public' as the inputSchema property during code generation (using > Gradle). > At runtime the application works as expected but during the integration > tests this doesn't work. > After some googling I came to this http://www.jooq.org/doc/ > 3.8/manual/sql-building/dsl-context/runtime-schema-mapping/. > > So I created a @Configuration class that has a @Primary annotated @Bean to > make sure that the new settings are applied. This is my configuration: > > @Bean > @Primary > public org.jooq.Configuration config() { > org.jooq.Configuration config = new DefaultConfiguration(); > config.set(SQLDialect.valueOf(sqlDialect)); > config.set(connectionProvider); > config.set(new Settings().withRenderMapping( > new RenderMapping().withSchemata( > new MappedSchema().withInput("public").withOutput("") > ) > )); > config.set(new DefaultExecuteListenerProvider( > new DefaultExecuteListener() { > @Override > public void exception(ExecuteContext ctx) { > if (null != ctx.sqlException()) { > SQLDialect dialect = ctx.dialect(); > SQLExceptionTranslator translator = (null != > dialect) ? > new SQLErrorCodeSQLExceptionTranslator(dialect > .thirdParty().springDbName()) : > new SQLStateSQLExceptionTranslator(); > > > ctx.exception(translator.translate("jOOQ", ctx.sql > (), ctx.sqlException())); > } > } > } > )); > return config; > } > > > In my tests I have the @Autowired DSLContext and during execution of the > tests I see in the properties of the DSLContext that the rendermapping is > used (see attached screenshot). > But somehow I get an Exception saying that the schema 'public' can't be > found. > > > <https://lh3.googleusercontent.com/-YfLcc2jHV6U/V-oSMNV7_CI/AAAAAAAAAps/VP-K4-T8_oY4vFEQF-FC9QYJf05VMN8tgCLcB/s1600/Screen%2BShot%2B2016-09-27%2Bat%2B08.11.58.png> > > > -- > You received this message because you are subscribed to the Google Groups > "jOOQ User Group" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "jOOQ User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
