2026-01-13 00:35:53 -03:00
|
|
|
import 'package:drift/drift.dart';
|
2026-02-01 22:57:14 -03:00
|
|
|
import 'package:drift_offline_sync/drift_offline_sync.dart';
|
2026-01-13 00:35:53 -03:00
|
|
|
|
|
|
|
|
import 'tables.dart';
|
2026-02-01 22:57:14 -03:00
|
|
|
import 'user.dart';
|
2026-01-13 00:35:53 -03:00
|
|
|
|
2026-02-01 22:57:14 -03:00
|
|
|
part 'migration.g.dart';
|
2026-01-13 00:35:53 -03:00
|
|
|
|
|
|
|
|
@DriftDatabase(tables: [TodosTable])
|
|
|
|
|
class FirstDb extends _$FirstDb {
|
2026-02-01 22:57:14 -03:00
|
|
|
FirstDb(super.e) {
|
|
|
|
|
driftRuntimeOptions.dontWarnAboutMultipleDatabases = true;
|
|
|
|
|
}
|
2026-01-13 00:35:53 -03:00
|
|
|
|
|
|
|
|
bool created = false;
|
|
|
|
|
bool didUpgrade = false;
|
|
|
|
|
bool onBeforeOpen = false;
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
int schemaVersion = 1;
|
|
|
|
|
|
2026-02-01 22:57:14 -03:00
|
|
|
@override
|
|
|
|
|
OfflineSyncMigrator createMigrator() => OfflineSyncMigrator(
|
|
|
|
|
this,
|
|
|
|
|
userId: testUserId,
|
|
|
|
|
nodeId: testNodeId,
|
|
|
|
|
);
|
|
|
|
|
|
2026-01-13 00:35:53 -03:00
|
|
|
@override
|
|
|
|
|
MigrationStrategy get migration => MigrationStrategy(
|
2026-01-25 23:23:47 -03:00
|
|
|
onCreate: (m) async {
|
|
|
|
|
created = true;
|
|
|
|
|
await m.createAll();
|
|
|
|
|
},
|
|
|
|
|
onUpgrade: (m, from, to) async {
|
|
|
|
|
if (from == 1 && to == 2) {
|
|
|
|
|
didUpgrade = true;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
beforeOpen: (m) async {
|
|
|
|
|
onBeforeOpen = true;
|
|
|
|
|
},
|
|
|
|
|
);
|
2026-01-13 00:35:53 -03:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@DriftDatabase(tables: [Users])
|
|
|
|
|
class SecondDb extends _$SecondDb {
|
2026-02-01 22:57:14 -03:00
|
|
|
SecondDb(super.e) {
|
|
|
|
|
driftRuntimeOptions.dontWarnAboutMultipleDatabases = true;
|
|
|
|
|
}
|
2026-01-13 00:35:53 -03:00
|
|
|
|
|
|
|
|
bool created = false;
|
|
|
|
|
bool didUpgrade = false;
|
|
|
|
|
bool onBeforeOpen = false;
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
int schemaVersion = 2;
|
|
|
|
|
|
2026-02-01 22:57:14 -03:00
|
|
|
@override
|
|
|
|
|
OfflineSyncMigrator createMigrator() => OfflineSyncMigrator(
|
|
|
|
|
this,
|
|
|
|
|
userId: testUserId,
|
|
|
|
|
nodeId: testNodeId,
|
|
|
|
|
);
|
|
|
|
|
|
2026-01-13 00:35:53 -03:00
|
|
|
@override
|
|
|
|
|
MigrationStrategy get migration => MigrationStrategy(
|
2026-01-25 23:23:47 -03:00
|
|
|
onCreate: (m) async {
|
|
|
|
|
created = true;
|
|
|
|
|
await m.createAll();
|
|
|
|
|
},
|
|
|
|
|
onUpgrade: (m, from, to) async {
|
|
|
|
|
if (from == 1 && to == 2) {
|
2026-02-01 22:57:14 -03:00
|
|
|
await m.createTable(users);
|
2026-01-25 23:23:47 -03:00
|
|
|
didUpgrade = true;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
beforeOpen: (m) async {
|
|
|
|
|
onBeforeOpen = true;
|
|
|
|
|
},
|
|
|
|
|
);
|
2026-01-13 00:35:53 -03:00
|
|
|
}
|