A library for applying a series of migrations to update old versions of data structures to the most recent one.
dependencies:
data_migration:
-
Create your set of migration
class CounterV1DataMigration implements DataMigration { const CounterV1DataMigration(); @override int get fromVersion => 1; @override int get toVersion => 2; @override Future<dynamic> migrate(dynamic data) async { final counter = SimpleCounter(data as int); return counter.toJson(); } } final migrator = DataMigrationManager( [ CounterV1DataMigration(), ], );
-
Apply migration on data
final migrated1 = await _migrator.migrateIfNeeded( 3, fromVersion: 1, );
In the example and tests, there are some examples of "data migration."