Also, the correct MergerTokenFactory for my DbAdapter is not longer automatically detected (both for Postgres and MySQL). I had to add this to my ServerRuntime module to fix it.
binder.bind(MergerTokenFactory.class).to(PostgresMergerTokenFactory.class); On Thu, Aug 17, 2017 at 9:21 AM John Huss <[email protected]> wrote: > I just got done upgrading several projects to use the latest from > master. I am very excited about the memory usage improvements in this > version. > > I wanted to relay my experience along with some of the problems I had in > case it would be helpful to others or allow this process to be smoothed > out. We were previously on a version of master from about two years back. > I think most of these issues are fairly recent however. > > - Can't build without running the tests (mvn clean install > -Dmaven.test.skip=true) at least once successfully due to missing maven > dependency for cayenne.project (which is the second thing built). I don't > know why this depends on the tests. > > - Can't successfully run tests without a newer Java 1.8 SDK. I had a JDK > 1.8.0 from 2014 (the first release?) that didn't work (mockito errors). > Upgrading to the newest JDK fixed the problem. > > - new ServerRuntime(...) no longer works because my custom DbAdapter > subclass would not get the new ValueObjectTypeRegistry parameter injected > automatically. Switching to ServerRuntime.builder() fixed the problem. > > - CayenneFilter chooses a different name for the DataDomain when you load > multiple projects now (is the name the constant "cayenne"?). I use this > name in a lot of places to set DB connection information so I don't want to > change it. Unfortunately CayenneFilter does not provide a way to override > the DataDomain's name, so I had to just stop using CayenneFilter. Using > runtime.getDataDomain.setName("abc") doesn't work because the DB has > already been connected to at that point. CayenneFilter should take an > init-param to set the name instead. > > - Cayenne project .xml files need to be upgraded by running the Modeler > and re-saving them first. > > - I had previously set the PK attribute's generation method to Generated > for me (using Postgres). Since Postgres didn't used to support this with > Cayenne, this used to fall back to the default behavior > "Cayenne-generated". Now that this IS supported everything fails since my > database isn't set up to do this yet. I switched these back to the default > "Cayenne-generated" method of generating PKs. Not a Cayenne problem, but > something to be aware of. > > - The SQL logger's name has changed from CommonsJdbcEventLogger to just > JdbcEventLogger, so I had to update places where I was changing the logging > level (mostly in properties files). > > John > > > >
