Spring 带有 Neo4j 3.0 的 Neo4j 4 数据:如何将配置传递给嵌入式驱动程序?

Spring Data Neo4j 4 with Neo4j 3.0: How to pass configuration to embedded driver?

我正在将现有的 Spring Data Neo4j 3 应用程序(使用 Neo4j 2.x)迁移到 Spring Data Neo4j 4.1 with Neo4j 3.0。

实际迁移已完成,但应用程序现在无法启动

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"

我实际上从以前的升级中知道这个消息,我曾经在我的 neo4j.properties 中配置它,我在使用 GraphDatabaseFactory 创建嵌入式数据库时手动加载。

然而,对于 SDN 4,这不再是 required/possible。如文档中所述,我现在只有:

@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;
}

这貌似可以设置额外的配置,但是没有效果。我还尝试在设置了此选项的(嵌入式)数据库文件夹中放置一个 neo4j.conf,但没有成功。

现在如何实际配置嵌入式实例?

目前,这是不可能的,有一个未解决的问题:https://github.com/neo4j/neo4j-ogm/issues/151

在此期间,请在 SDN 之外升级您的 Neo4j 实例