sqlite3_migrations_with_multiverse_time_travel 1.0.1
sqlite3_migrations_with_multiverse_time_travel: ^1.0.1 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();
}