bin/jadb: split

This commit is contained in:
2025-04-30 08:40:01 +02:00
parent 4357485870
commit 1fdcb7a477
7 changed files with 204 additions and 163 deletions

View File

@@ -1,9 +1,7 @@
import 'dart:ffi';
import 'dart:io';
import 'package:jadb/_data_ingestion/open_local_db.dart';
import 'package:jadb/search.dart';
import 'package:sqflite_common_ffi/sqflite_ffi.dart';
import 'package:sqlite3/open.dart';
Future<JaDBConnection> setup_database_connection() async {
final lib_sqlite_path = Platform.environment['LIBSQLITE_PATH'];
@@ -17,18 +15,14 @@ Future<JaDBConnection> setup_database_connection() async {
throw Exception("JADB_PATH is not set");
}
final db_connection = createDatabaseFactoryFfi(ffiInit: () {
open.overrideForAll(
() => DynamicLibrary.open(lib_sqlite_path),
);
}).openDatabase(
jadb_path,
options: OpenDatabaseOptions(
onOpen: (db) {
db.execute("PRAGMA foreign_keys = ON");
},
),
final db_connection = await openLocalDb(
libsqlitePath: lib_sqlite_path,
jadbPath: jadb_path,
);
return JaDBConnection(await db_connection);
if (db_connection == null) {
throw Exception("Failed to open database");
}
return JaDBConnection(db_connection);
}