2016-12-14 105 views
0

有没有在命令调用时指定Neo4j数据库位置的方法,而不是通过文件?因此,而不是把在neo4j-server.properties如下:从命令行更改database.location

org.neo4j.server.database.location=/path/to/db 

喜欢的东西:

neo4j --db=/path/to/db 

我仍然在Neo4j的2.1.6,但在任何版本的建议是聊胜于无。

我现在特别的用例是,我的常规DB有问题,我想快速创建一个空白数据库,以便将问题缩小到二进制文件或数据(是的,我检查了日志文件!) 。

+0

看来'neo4j-shell'支持'-path',但'neo4j'服务器不支持。 –

回答

0

在启动neo4j之前,您可以使用sed编辑neo4j-server.properties。例如:

sed -i.bak s/org.neo4j.server.database.location=databases/org.neo4j.server.database.location=newdatabase/g neo4j-community-2.1.6/conf/neo4j-server.properties 

您可以创建一个简单的脚本,将路径作为参数。因此,像:

./start-neo.sh mytestdb其中start-neo.sh是:

sed -i.bak s/org.neo4j.server.database.location=databases/$1/g neo4j-community-2.1.6/conf/neo4j-server.properties 
neo4j-community-2.1.6/bin/neo4j start 

将设置org.neo4j.server.database.location=mytestdb,然后开始Neo4j的。

+0

感谢您的建议。我宁愿不这样做,因为我想保留我最后一个已知的工作状态不变。我考虑的另一个解决方案是一个here-document,但是即使从命令行指定一个备用配置文件也是不可能的。 –