You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.2 KiB

import 'dart:async';
import 'package:path/path.dart';
import 'package:sqflite/sqflite.dart';
class DatabaseHelper {
static final DatabaseHelper _instance = DatabaseHelper._internal();
factory DatabaseHelper() => _instance;
static Database? _database;
DatabaseHelper._internal();
Future<Database> get database async {
if (_database != null) return _database!;
_database = await _initDatabase();
return _database!;
}
Future<Database> _initDatabase() async {
String path = join(
await getDatabasesPath(),
'database.db',
);
return await openDatabase(path, version: 1, onCreate: _createDB);
}
Future<void> _createDB(Database db, int version) async {
final batch = db.batch();
// 商务会议助手列表
batch.execute('''
CREATE TABLE IF NOT EXISTS meeting (
id INTEGER PRIMARY KEY,
title TEXT,
content TEXT,
seconds INTEGER,
creationtime INTEGER
)
''');
// 商务会议助手详情内容
batch.execute('''
CREATE TABLE IF NOT EXISTS meetingdetails (
id INTEGER PRIMARY KEY,
meetingid INTEGER,
audio BLOB,
content TEXT
)
''');
await batch.commit();
}
}