I am in the process of migrating an existing Spring Data Neo4j 3 application (with Neo4j 2.x) to Spring Data Neo4j 4.1 with Neo4j 3.0.
The actual migration is done, but the application now fails to start with
org.neo4j.kernel.impl.storemigration.UpgradeNotAllowedByConfigurationException: Failed to start Neo4j with an older data store version. To enable automatic upgrade, please set configuration parameter "dbms.allow_format_migration=true"
I actually know this message from previous upgrades, where I used to configure this in my neo4j.properties that I manually loaded when using a GraphDatabaseFactory to create the embedded DB.
With SDN 4 however, this is no longer required/possible. As specified in the documentation, I now only have:
@Bean
public Configuration getConfiguration()
{
String uri = getDatabaseUri();
Configuration config = new org.neo4j.ogm.config.Configuration();
config.set("dbms.allow_format_migration", "true"); // Allow upgrade of neo4j version
config.driverConfiguration()
.setDriverClassName("org.neo4j.ogm.drivers.embedded.driver.EmbeddedDriver")
.setURI(uri);
return config;
}
This looks like one can set additional configuration, but this is without effect. I've also tried to place a neo4j.conf in the (embedded) DB folder with this option set, without success.
How does one actually configure embedded instances now?
At the moment, this is not possible, and there is an issue open for it: https://github.com/neo4j/neo4j-ogm/issues/151
In the interim, please upgrade your Neo4j instance outside of SDN