[][src]Module rkv::migrator

A simple utility for migrating data from one RVK environment to another. Notably, this tool can migrate data from an enviroment created with a different backend than the current RKV consumer (e.g from Lmdb to SafeMode).

The utility doesn't support migrating between 32-bit and 64-bit LMDB environments yet, see arch_migrator if this is needed. However, this utility is ultimately intended to handle all possible migrations.

The destination environment should be empty of data, otherwise an error is returned.

The tool currently has these limitations:

  1. It doesn't support migration from environments created with EnvironmentFlags::NO_SUB_DIR. To migrate such an environment, create a temporary directory, copy the environment's data files in the temporary directory, then migrate the temporary directory as the source environment.
  2. It doesn't support migration from databases created with DatabaseFlags::DUP_SORT(with or withoutDatabaseFlags::DUP_FIXED) nor with DatabaseFlags::INTEGER_KEY. This effectively means that migration is limited to SingleStore`s.
  3. It doesn't allow for existing data in the destination environment, which means that it cannot overwrite nor append data.

Structs

LmdbArchMigrator
Migrator

Enums

LmdbArchMigrateError

Type Definitions

LmdbArchMigrateResult