2016-12-14 2 views
0

Gibt es eine Möglichkeit, eine Neo4j-Datenbankposition zur Befehlsaufrufzeit anstatt über eine Datei anzugeben? Anstatt also die von Putten folgend in neo4j-server.properties:Ändern der Datenbank.Position von der Befehlszeile aus

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

Etwas wie:

neo4j --db=/path/to/db 

Ich bin immer noch auf Neo4j 2.1.6 aber Rat in Version ist besser als nichts.

Mein besonderer Anwendungsfall zu dieser Zeit ist, meine normale DB hat Probleme und ich möchte schnell eine leere Datenbank hochfahren, nur um das Problem auf Binärdateien oder Daten zu beschränken (ja, ich habe die Protokolldateien überprüft!) .

+0

Es scheint, 'neo4j-shell' unterstützt' -path' aber 'neo4j' Server nicht. –

Antwort

0

Sie könnten sed verwenden, um neo4j-server.properties zu bearbeiten, bevor Sie neo4j starten. Etwas wie:

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 

Sie könnten ein einfaches Skript erstellen, das den Pfad als Parameter verwendet. So etwas wie:

./start-neo.sh mytestdb wo start-neo.sh ist:

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 

wird org.neo4j.server.database.location=mytestdb gesetzt und dann Neo4j starten.

+0

Danke für den Vorschlag. Ich würde das lieber nicht tun, weil ich meinen letzten bekannten Arbeitszustand unberührt lassen möchte. Eine andere Lösung, die ich in Erwägung gezogen hatte, war ein Here-Dokument, aber selbst das Angeben einer alternativen Konfigurationsdatei über die Befehlszeile ist nicht möglich. –

Verwandte Themen