31 lines
1.6 KiB
Dart
31 lines
1.6 KiB
Dart
// lib/database/database_connection/connection_web.dart
|
|
import 'package:drift/drift.dart';
|
|
import 'package:drift/web.dart';
|
|
import 'package:drift/wasm.dart'; // Импорт для конфигурации WASM
|
|
|
|
QueryExecutor connect() {
|
|
print("Connecting to database using WebDatabase with explicit WASM config");
|
|
|
|
// Используем конструктор withOptions для явной передачи конфигурации WASM
|
|
return WebDatabase.withOptions(
|
|
'db', // Имя базы данных в IndexedDB
|
|
logStatements: false,
|
|
options: DriftWebOptions(
|
|
// Явно указываем Drift, где искать файл WASM.
|
|
// WasmDatabase.driver() обрабатывает загрузку и инициализацию.
|
|
// '/sqlite3.wasm' - это стандартный путь, куда Flutter помещает файл.
|
|
wasmModule: WasmDatabase.driver(
|
|
// Указываем URI к файлу sqlite3.wasm
|
|
sqlite3WasmUri: Uri.parse('/sqlite3.wasm'),
|
|
// driftWorkerUri не обязателен, если не используются веб-воркеры,
|
|
// но можно указать для полноты:
|
|
// driftWorkerUri: Uri.parse('/drift_worker.js'),
|
|
),
|
|
// Можно также явно указать тип хранилища, если нужно (по умолчанию IndexedDB)
|
|
// storage: DriftWebStorage.indexedDb('db'),
|
|
// или localStorage, если IndexedDB не поддерживается/нежелателен
|
|
// storage: DriftWebStorage.localStorage('db'),
|
|
),
|
|
);
|
|
}
|