How can I migrate from another service to TrueVault?
Start by creating the vaults and schemas in a structure that resembles what you are currently using. For example, if you are migrating from a SQL data store, be sure to mark all fields corresponding to indexed columns as indexed in your schema.
Migration of data is straightforward if your product is not yet live. Query each record in your existing data store, convert it to a JSON document matching your schema in TrueVault, and upload it using the TrueVault HTTP REST API for Documents.
If your product is live, there are two things to be mindful of when performing a data migration:
- Migration of existing data by querying from your current data store
- Migration of new data as it is coming in
In both cases, you would send each item as a JSON document to TrueVault using our documents HTTP REST API. The implementation of (1) is similar to the case described above for if your product is not yet live. The implementation details of (2) depends on your current application backend, but the idea is to write new data and updates to both your existing data store and TrueVault. For example, if you are migrating from Parse, the following blog post from Parse demonstrates how you might go about implementing the migration (1) with a script, and (2) with Parse’s beforeSave
.
Once these are in place, all the data being written to your current data store will also be written to TrueVault, and you can update your website or app to read from and save data directly to TrueVault.
It is important to note that once your website or app is saving data directly to TrueVault, the data in your current data store will no longer be up to date and its usage should be phased out. A consideration when updating your app is that some users may continue to use an old version that is not using TrueVault. To ensure that the users’ experience is consistent, you may want to explicitly deprecate older versions and prompt your users to update their app.