Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nmervaillie/neo4j-db-copy

A development tool to copy the data from a Neo4j database to another Neo4j database, using bolt
https://github.com/nmervaillie/neo4j-db-copy

copy neo4j reactive-programming

Last synced: about 22 hours ago
JSON representation

A development tool to copy the data from a Neo4j database to another Neo4j database, using bolt

Awesome Lists containing this project

README

        

== A Neo4j database copy tool over bolt

image:https://github.com/nmervaillie/neo4j-db-copy/actions/workflows/ci.yml/badge.svg["CI", link="https://github.com/nmervaillie/neo4j-db-copy/actions/workflows/ci.yml"]

A development tool useful to copy the data from a Neo4j database to another Neo4j database.
Databases can be local or remote.
As the copy is done through the Neo4j driver, no admin access to Neo4j is required.

This is useful to copy things around, for example test/reference data from an environment to another.

It has been tested on small to average database sizes.

Note: data deletion, users, indexes, constraints are not handled.

== Building

Building / running requires Java 17+.

`mvn clean package -DskipTests`

The resulting app can be found in the `target` directory.

== Usage

[source,bash]
----
Usage: neo4j-db-copy [-hV] [-lock] -sp -tp -sa=
-sd= [-su=]
-ta= -td=
[-tu=] [-enp=[,
...]]...
[-erp=[,
...]]...
Copy the content of a Neo4j database to another Neo4j database, via the
network, through the bolt protocol.
-enp, --exclude-node-properties=[,
...]
Comma-separated list of node properties to exclude from the
copy
-erp, --exclude-relationship-properties=[,
...]
Comma-separated list of relationship properties to exclude
from the copy
-h, --help Show this help message and exit.
-lock, --lock-source-database
Set the source database to read-only mode before copying
-sa, --source-address=
The source database address (ex: neo4j+s://my-server:7687)
-sd, --source-database=
The source database to connect to.
-sp, --source-password
The source database password to connect with
-su, --source-username=
The source database username to connect as (default: neo4j)
-ta, --target-address=
The target database address (ex: neo4j+s://my-server:7687)
-td, --target-database=
The target database to connect to.
-tp, --target-password
The target database password to connect with
-tu, --target-username=
The target database username to connect as (default: neo4j)
-V, --version Print version information and exit.
----