{WARNING:Backward compatibility}
RavenDB 4.0 is a major version upgrade from 3.x. As such, applications using 3.x client DLLs will not be able to work against a 4.0 server and requires migrating to the latest 4.0 client release prior the server upgrade.
Please refer to our client migration guide if you haven't migrated your application yet. {WARNING/}
There are a few options to migrate 3.x data to RavenDB 4.0:
- create a database from 3.x data
- live import data from a running instance
- restore 3.x backup
- import a database from
.ravendump
file
{PANEL: How to create a database from 3.x database or file system data}
The process of upgrading to a RavenDB 4.0 server is as follows:
- Ensure backups of 3.x databases have been made
- Stop existing the 3.x server
- Start the new RavenDB 4.0 server (4.0 binaries must not be extracted the same directory as 3.x ones)
- Create a new database using
New database from v3.x (legacy) data files
:
You will see the following dialog:
Next, you need to provide the migration configuration:
Resource type
- whether you are going to import a database or a file systemData directory
- the absolute path to 3.x data directoryData exporter
- the absolute path toRaven.StorageExporter.exe
- RavenDB 3.5 tool that can be found on ravendb.net as a part of the tools package. Please make sure to use the latest version (patch or stable).
The Advanced
options section allows you to:
- specify a custom path to journals / logs (use if the migrated resource has the
Raven/TransactionJournalsPath
orRaven/Esent/LogsPath
setting defined), - indicates that the source data had the compression bundle enabled
- provides encryption key if the source data are encrypted (if you need the new database to be encrypted, please configure it in
Encryption
section)
{NOTE:Files and legacy attachments}
RavenDB 4.0 introduces the notion of attachments that can be bound to documents.
The files migrated from RavenFS and legacy database attachments will be saved as documents in @files
collection. Each document will have a single attachment.
The name of the document will be files/{attachment-name}
, the name of an attachment will remain unchanged.
{NOTE/}
{PANEL/}
{PANEL: How to live import data from a running instance?}
Another option of moving data to RavenDB 4.0 is to import a database or a file system from running the RavenDB 3.x instance. To import data running 3.x resources, please create a new empty database on a 4.0 server and go to Settings -> Import Data -> From another RavenDB Server
{PANEL/}
{PANEL: How to restore an existing 3.x backup?}
If you want to restore a database from a 3.x backup to a 4.0 server, first you need to restore it manually to running a 3.x instance (by command line or RavenDB Studio).
Next, use one of the above options and point the just restored database / file system.
{PANEL/}
{PANEL: How to import database from .ravendump
file?}
The export file (.ravendump
) from a 3.x database can be imported to 4.0 using the Studio: Settings -> Import Data -> From file
{PANEL/}
Studio Articles:
Create a Database : From Backup
Create a Database : General Flow
Create a Database : Encrypted
The Backup Task
Client Articles:
Restore
Operations: How to Restore a Database from Backup
What Is Smuggler
Backup
Server Articles:
Backup Overview