I believe this is basically the same thing as:

addModule(binder -> 
binder.bind(SchemaUpdateStrategy.class).to(CreateIfNoSchemaStrategy.class))

just using a class instead of a Lambda.

- hugi



> On 23. jan. 2016, at 14:47, Michael Gentry <[email protected]> wrote:
> 
> Hi Hugi,
> 
> This worked for me in 3.1:
> 
>        // Use a custom Cayenne server runtime.
>        serverRuntime = new ServerRuntime("my cayenne model", new
> CayenneExtrasModule()));
> 
> ...
> 
>    /**
>     * Custom Cayenne DI module.
>     */
>    private static class CayenneExtrasModule implements Module
>    {
>        @Override
>        public void configure(Binder binder)
>        {
>            // Change the SchemaUpdateStrategy to create the DB schema for
> unit
>            // testing instead of using the model's default which assumes an
>            // existing schema.
> 
> binder.bind(SchemaUpdateStrategy.class).to(CreateIfNoSchemaStrategy.class);
>        }
>    }
> 
> 
> On Sat, Jan 23, 2016 at 7:33 AM, Hugi Thordarson <[email protected]> wrote:
> 
>> Hi Michael, Andrus and Savva.
>> 
>> Thanks a lot for all the help with this :). The arguments to the
>> ServerRuntimeBuilder are exactly what I wanted :).
>> 
>> One thing though: Setting the SchemaUpdateStrategy in code (in the
>> ServerRuntimeBuilder) doesn’t work for me. Works great if I set it in the
>> cayenne modeler, but if the modeler has the default
>> “SkipSchemaUpdateStrategy” selected, changing it in the
>> ServerRuntimeBuilder doesn’t seem to do anything. Any ideas?
>> 
>> This is how I’m currently initializing my server runtime
>> 
>>        public static ServerRuntime serverRuntime() {
>>                if (_serverRuntime == null) {
>>                        _serverRuntime = new ServerRuntimeBuilder()
>>                                        .addConfig("cayenne-project.xml")
>>                                        .addModule(binder ->
>> binder.bind(SchemaUpdateStrategy.class).to(CreateIfNoSchemaStrategy.class))
>>                                        .jdbcDriver("org.h2.Driver")
>>                                        .url("jdbc:h2:~/h2-testing")
>>                                        .build();
>>                }
>> 
>>                return _serverRuntime;
>>        }
>> 
>> Cheers,
>> - hugi

Reply via email to