sqlite3_migrations_with_multiverse_time_travel 1.0.2  sqlite3_migrations_with_multiverse_time_travel: ^1.0.2 copied to clipboard
sqlite3_migrations_with_multiverse_time_travel: ^1.0.2 copied to clipboard
Runs database migrations for apps using sqlite3. Check out different branches during development without having to reset the db
example/sqlite3_migrations_with_multiverse_time_travel_example.dart
import 'dart:ffi';
import 'package:sqlite3/open.dart';
import 'package:sqlite3/sqlite3.dart';
import 'package:sqlite3_migrations_with_multiverse_time_travel/sqlite3_migrations_with_multiverse_time_travel.dart';
final migrations = [
  Migration(
    definedAt: DateTime(2025, 3, 14, 1),
    up: """
create table users (
  id integer primary key autoincrement,
  name text not null
);
insert into users (name) values ('Alice');
insert into users (name) values ('Bob');
""",
    down: """
drop table users;
""",
  ),
];
void main() {
  open.overrideFor(OperatingSystem.windows, () => DynamicLibrary.open('winsqlite3.dll'));
  final db = sqlite3.openInMemory();
  Sqlite3Database(db).migrate(migrations);
  for (final row in db.select('select * from users').rows) {
    print(row);
  }
  db.dispose();
}