[[deployment-upgrading]]
Upgrading
=========

Normally a properly shutdown Neo4j database can be upgraded directly to a new minor version.
A database can be upgraded from a minor version to the next, e.g. 1.1 -> 1.2, and 1.2 -> 1.3,
but you can not jump directly from 1.1 -> 1.3.
The upgrade process is a one way step; databases cannot be downgraded. 

However, some upgrades make significant changes to the database store. Neo4j will refuse to start when a significant upgrade is required, requiring explicit upgrade configuration.

== Normal Upgrade ==

To perform a normal upgrade (for minor changes to the database store):

. download the newer version of Neo4j
. cleanly shutdown the database to upgrade, if it is running
. startup the database with the newer version of Neo4j

== Special Upgrade ==

To perform a special upgrade (for significant changes to the database store):

. make sure the database you are upgrading has been cleanly shut down
. set the Neo4j configuration parameter "allow_store_upgrade=true"
. start the database
. the upgrade will happen during startup and the process is done when the database has been successfully started
. "allow_store_upgrade=true" configuration parameter should be removed, set to "false" or commented out


[[deployment-upgrading-one-three-milestones]]
== Upgrade 1.3.M03 -> 1.3.M04 ==

[WARNING]
Upgrading from 1.3.M03 -> 1.3.M04 must be done explicitly since store format has changed between those two versions.

The store format, as well as logical log format, have changed between these two versions to allow for bigger stores. 


[[deployment-upgrading-one-three]]
== Upgrade 1.2 -> 1.3 ==

[WARNING]
Upgrading from 1.2 -> 1.3 must be done explicitly since store format has changed between those two versions.

The store format, as well as logical log format, have changed between these two versions to allow for bigger stores. 

[IMPORTANT]
Although id ranges has been increased the space used to store the database will not increase compared to the previous version.

Upgrading between these two version needs to be performed explicitly using a configuration parameter at startup (see "Special Upgrade").

[CAUTION]
Upgrade cannot be performed if either the number of relationship types or the configured block size for either the dynamic array store or string store is greater than 65534.

[CAUTION]
Indexes created using the old IndexService/LuceneIndexService are no longer accessible out of the box in 1.3 in favor of the integrated index. An automatic upgrade isn't possible so a full rebuild of the index data into the integrated index framework is required. For reference the legacy index can be downloaded from the Neo4j repository, http://m2.neo4j.org/org/neo4j/neo4j-legacy-index/

[[deployment-upgrading-one-two]]
== Upgrade 1.1 -> 1.2 ==

Upgrading from Neo4j 1.1 to Neo4j 1.2 is a "normal" upgrade.
