renameKeyMigration<T> static method

MigrationConfig<T> renameKeyMigration<T>({
  1. required int fromVersion,
  2. required int toVersion,
  3. required String oldKey,
  4. required String newKey,
  5. T transform(
    1. Map<String, dynamic>
    )?,
})

Create a migration that renames a key

Implementation

static MigrationConfig<T> renameKeyMigration<T>({
  required int fromVersion,
  required int toVersion,
  required String oldKey,
  required String newKey,
  T Function(Map<String, dynamic>)? transform,
}) {
  return MigrationConfig<T>(
    fromVersion: fromVersion,
    toVersion: toVersion,
    migrate: (oldData, from, to) {
      final newData = Map<String, dynamic>.from(oldData);
      if (newData.containsKey(oldKey)) {
        newData[newKey] = newData.remove(oldKey);
      }
      if (transform != null) {
        return transform(newData);
      }
      return newData as T;
    },
  );
}