2016-12-14 94 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,但是即使從命令行指定一個備用配置文件也是不可能的。 –