37 lines
836 B
Dart
37 lines
836 B
Dart
import 'dart:io';
|
|
|
|
import 'package:jadb/_data_ingestion/open_local_db.dart';
|
|
import 'package:jadb/_data_ingestion/seed_database.dart';
|
|
|
|
import 'package:args/command_runner.dart';
|
|
import 'package:jadb/cli/args.dart';
|
|
|
|
class CreateDb extends Command {
|
|
final name = "create-db";
|
|
final description = "Create the database";
|
|
|
|
CreateDb() {
|
|
addLibsqliteArg(argParser);
|
|
}
|
|
|
|
Future<void> run() async {
|
|
if (argResults!.option('libsqlite') == null) {
|
|
print(argParser.usage);
|
|
exit(64);
|
|
}
|
|
|
|
final db = await openLocalDb(
|
|
libsqlitePath: argResults!.option('libsqlite')!,
|
|
readWrite: true,
|
|
);
|
|
|
|
seedData(db).then((_) {
|
|
print("Database created successfully");
|
|
}).catchError((error) {
|
|
print("Error creating database: $error");
|
|
}).whenComplete(() {
|
|
db.close();
|
|
});
|
|
}
|
|
}
|