Data Migration (migration)

Estimated reading time: less than 1 minute

The migration tool handles save data changes during version upgrades. It is used directly by the Variables module.

Access via maplebirch.tool.migration.

Core API

Creating an Instance

const Migration = maplebirch.tool.migration;
const m = new Migration();

// Or via create()
const migrator = maplebirch.tool.migration.create();

add(fromVersion, toVersion, migrationFn)

Add a migration step from source version to target version.

m.add("1.0.0", "2.0.0", (data, utils) => {
  utils.rename(data, "oldField", "newField");
});

run(data, targetVersion)

Execute all migration steps from current version to target version.

m.run(targetData, targetVersion);

Example

const Migration = maplebirch.tool.migration;
const m = new Migration();

// Add migration rule
m.add("1.0.0", "2.0.0", (data) => {
  if (data.oldField) {
    data.newField = data.oldField;
    delete data.oldField;
  }
});

// Execute migration
m.run(targetData, targetVersion);