cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

Ability to create databases programmatically (manage multiple databases)

I'am very new in Neo4j, and very impressed of it powerful. I'am develop saas platform, for now we use FaunaDB, but looking for change it to Neo4j.

But we need ability to create databases programmatically when client register in our system.
I look that Neo4j have ability to create multiple databases but, don't see program interfaces for this feature.

Is there any way to create databases from code and manage user requests? Perhaps there are such functions in AuraDB?

I would be grateful for any links to the documentation or posts, thanks.

3 REPLIES 3

Look at the neo4j-admin and cypher-shell CLI tools. You can write scripts to do that.

connect to the system database in your script

cypher-shell -u neo4j -p <password> -d system

and then you can use create database, drop database and manage users and roles

https://neo4j.com/docs/cypher-manual/current/databases/

you can do the same from a driver by connecting to the system database.

Currently AuraDB doesn't support multi-db yet.

A provisioning API for AuraDB is on the roadmap, you can follow the progress here:

https://neo4j-aura.canny.io/feature-requests/p/programmatic-api-for-database-management

At present, AuraDB does not support the multi database capability in Neo4j Enterprise Edition, so to do what you're asking, you would need the self-managed version of Neo4j Enterprise.  But databases can be simply dynamically created with cypher using the `CREATE DATABASE`  command like so

 

https://neo4j.com/docs/cypher-manual/current/databases/#administration-databases-create-database