I'm running Neo4j Desktop V1.5.8 (under Windows 11) and wanted to take advantage of the new V5.x database. I saw that you can't directly upgrade. What I did was to create a new V5.x project and then imported a V4.7 database dump as a new database (using V5.7). The import seemed to work (although it briefly paused for about 2 minutes). When I try to access the new default database (Neo4j) in the project it states the database is offline. In the debug log I noted the following entry:
2023-05-01 21:40:40.140+0000 INFO [c.n.c.d.a.AkkaTopologyService] I am server ServerId{cb7534c4}. Removed leader info of member DatabaseId{0ddcb2d8[neo4j]} RaftMemberId{cb7534c4} and term 1
2023-05-01 21:40:40.143+0000 ERROR [c.n.d.r.DbmsReconciler] Encountered error when attempting to reconcile database neo4j (request by SystemGraph:1) to state 'offline', database remains in state 'online'
org.neo4j.dbms.api.DatabaseManagementException: Unable to start database DatabaseId{0ddcb2d8[neo4j]}
How do I either start the database or migrate my existing V4.7 databases to the newer V5.x version for use with the Desktop?
Try this:
1. In V4.7 open Terminal and run this to check the store format version:
bin/neo4j-admin store-info data/databases/xxxx (replace xxxx with the correct database name)
Result should show:Store format version: SF4.3.0 (or above)
2. If the query shows the store format version: SF4.3.0 (or above) then copy the database folder from v4.7 and paste it in V5.7 data/databases folder.
3. Better to stop the V5.7 and open the Terminal in v5.7 and run this:
bin/neo4j-admin database copy xxxx yyyy --force (xxxx:v4.7 db name, yyyy: db name in v5,7)
Final Check: In Terminal run this:bin/neo4j-admin database info yyyy (use the correct name) Result should show you format version 5 info.
4. If all is successful then start V5.7 and select System database and run create database yyyy command.
That's all!
I finally got the database migrated. Step 4 was slightly confusing but I was able to create the database and it recognized the converted database from the prior steps.
I wish there was a slightly easier way to do this but it works. Thanks for the help!