mirror of https://github.com/AMT-Cheif/drift.git
31 lines
986 B
Dart
31 lines
986 B
Dart
import 'dart:async';
|
|
|
|
import 'package:drift/drift.dart';
|
|
import 'package:drift/wasm.dart';
|
|
import 'package:flutter/foundation.dart';
|
|
|
|
/// Obtains a database connection for running drift on the web.
|
|
DatabaseConnection connect() {
|
|
return DatabaseConnection.delayed(Future(() async {
|
|
final db = await WasmDatabase.open(
|
|
databaseName: 'todo-app',
|
|
sqlite3Uri: Uri.parse('/sqlite3.wasm'),
|
|
driftWorkerUri: Uri.parse('/drift_worker.js'),
|
|
);
|
|
|
|
if (db.missingFeatures.isNotEmpty) {
|
|
debugPrint('Using ${db.chosenImplementation} due to unsupported '
|
|
'browser features: ${db.missingFeatures}');
|
|
}
|
|
|
|
return db.resolvedExecutor;
|
|
}));
|
|
}
|
|
|
|
Future<void> validateDatabaseSchema(GeneratedDatabase database) async {
|
|
// Unfortunately, validating database schemas only works for native platforms
|
|
// right now.
|
|
// As we also have migration tests (see the `Testing migrations` section in
|
|
// the readme of this example), this is not a huge issue.
|
|
}
|