migrateToVersion static method

Future<bool> migrateToVersion(
  1. String version,
  2. Function migrationFunction
)

Migrate to version version executing the function migrationFunction

Implementation

static Future<bool> migrateToVersion(
    String version, Function migrationFunction) async {
  bool migrated = false;
  Version newVersion = Version(version: version);

  if (await _newVersionIsGreaterThanLastMigratedVersion(newVersion) &&
      await _newVersionIsNotGreaterThanAppVersion(newVersion)) {
    await migrationFunction();
    await _setLastMigratedVersion(version.toString());
    migrated = true;
  }

  return migrated;
}