私は2つの異なるNeo4jサーバを実行しており、同じ順序で同じクエリを実行しています。neo4j-shellのダンプのノードカウンタをリセットする
両方のデータベースが同等であるかどうかをチェックしたいのですが、データベース全体のダンプを生成しています(これは巨大なデータベースの実際の代替ではありません)。bin/neo4j-shell -c "dump" > /home/my_user/dump.txt
とmd5ハッシュmd5sum dump.txt
で生成されます。
生成されたdump.txt
ファイルは、ノードを識別する変数が異なる場合があることを除いて、ほとんど同じです。もちろん、各ファイルに対して完全に異なるハッシュが生成されます。例:
をdump.txt#1
私は今、それがデータベースがこれまで持っていたノードの数に基づいた作品を推測している#2begin
commit
begin
create (_7:`Person` {`name`:"Arthur", `title`:"King"})
create (_8:`Person` {`name`:"Saladin", `title`:"Sultan"})
create (_9:`Army` {`name`:"Saxon army"})
create (_7)-[:`FIGHTS_AGAINST`]->(_9)
create (_8)-[:`LEADS`]->(_9)
;
commit
をdump.txt
begin
commit
begin
create (_6:`Person` {`name`:"Arthur", `title`:"King"})
create (_7:`Person` {`name`:"Saladin", `title`:"Sultan"})
create (_8:`Army` {`name`:"Saxon army"})
create (_6)-[:`FIGHTS_AGAINST`]->(_8)
create (_7)-[:`LEADS`]->(_8)
;
commit
MATCH (n) DETACH DELETE n
でクリーニングすると、このカウンタはリセットされません。私がそれをリセットするために見つけた唯一の方法は、正確に実用的ではないサーバーを再起動することです。
私の問題を解決する最も簡単な方法は、_が前に付いている数字をすべて消去するスクリプトを作成することですが、非常に特殊な状況では誤検出を生成しないでしょうか?照会が非常に似ていて同じ順序であるが、異なるノードを更新した場合のように。
もっと良い選択肢がありますか?おそらく、このノードカウンタをリセットするコマンドですか?