Мне нужно переместить данные между двумя базами данных Neo4j. Один из них старше (2.1.8), а новый - 2.3.0. То, что я пробовал, это, но вы также можете увидеть, что что-то не так.Перемещение данных между базами данных Neo4j
/home/adam/neo4j-community-2.1.8/bin/neo4j-shell -path /home/adam/neo4j_bak9/ -c "dump" | /home/adam/neo4j-community-2.3.0/bin/neo4j-shell -file -
Transaction started
3 ms
WARNING: Invalid input 'c': expected whitespace, comment, ';' or end of input (line 2, column 1 (offset: 39))
"create index on :`Location`(`latitude`)"
^
ERROR (-v for expanded information):
Transaction was marked as successful, but unable to commit transaction so rolled back.
-host Domain name or IP of host to connect to (default: localhost)
-port Port of host to connect to (default: 1337)
-name RMI name, i.e. rmi://<host>:<port>/<name> (default: shell)
-pid Process ID to connect to
-c Command line to execute. After executing it the shell exits
-file File containing commands to execute, or '-' to read from stdin. After executing it the shell exits
-readonly Connect in readonly mode (only for connecting with -path)
-path Points to a neo4j db path so that a local server can be started there
-config Points to a config file when starting a local server
Example arguments for remote:
-port 1337
-host 192.168.1.234 -port 1337 -name shell
-host localhost -readonly
...or no arguments for default values
Example arguments for local:
-path /path/to/db
-path /path/to/db -config /path/to/neo4j.config
-path /path/to/db -readonly
Похоже, что neo4j создает синтаксис, который не может быть прочитан новой версией. Я что-то делаю неправильно, или это ошибка?
некоторое время назад я создал сценарий, который заботится о самих загрузках и выполняет обновления: http://blog.armbruster-it.de/2012/06/upgrading-an-old-neo4j-database-using- groovy/ –
Я написал расширение оболочки, которое делает правильный экспорт: https://github.com/jexp/neo4j-shell-tools#cypher-export –
Идея с копированием старой базы данных в новое местоположение и установка allow_store_upgrade была мой первый. Однако с этим была проблема. Я решил это, перейдя 2.1.8 -> 2.2.6 -> 2.3.0. Тем не менее, это хорошая вещь, простой способ сбрасывать базу данных, а затем загружать ее без дополнительных инструментов. Оригинальная идея выглядела многообещающей. Грустно, что из-за этой небольшой проблемы это невозможно. Я надеюсь, что он совместим не менее 2.3.0 <-> 2.3.0. – Cob