> Isn’t it just a question of deleting the datanode in the project, adding the > missing configuration in my ServerRuntimeBuilder and carry on with my life?
This is it. > On Jan 23, 2016, at 10:18 PM, Hugi Thordarson <[email protected]> wrote: > > Ah, I see… It sure looks like we should be going DataNode-less too. Any > caveats or tricks? Isn’t it just a question of deleting the datanode in the > project, adding the missing configuration in my ServerRuntimeBuilder and > carry on with my life? > > - hugi > > > >> On 23. jan. 2016, at 17:11, Andrus Adamchik <[email protected]> wrote: >> >> There's a bug that we've seen with this, just haven't got to the bottom of >> it yet. >> >> All I know is that overriding the strategy does not if another strategy is >> already present in the XML and sometimes (always?) the Modeler sticks the >> default strategy in there. As I am currently in favor of DataNode-less >> projects, I don't ever see it myself, but it was reported a few times by >> others. Need to open a Jira I guess and create a fix. >> >> Andrus >> >> >>> On Jan 23, 2016, at 5:47 PM, 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 >> >
