This commit is contained in:
DelLevin-Home
2026-03-07 23:20:24 +08:00
parent dc513fb6f6
commit d28c5e562e
24 changed files with 1983 additions and 636 deletions

View File

@@ -8,6 +8,17 @@ class DatabaseHelper {
DatabaseHelper._init();
/// 重新打开数据库(用于 WebDAV 同步后)
Future<void> reopenDatabase() async {
// 关闭现有连接
if (_database != null) {
await _database!.close();
_database = null;
}
// 重新初始化
_database = await _initDB('mooknote.db');
}
Future<Database> get database async {
if (_database != null) return _database!;
_database = await _initDB('mooknote.db');
@@ -20,7 +31,7 @@ class DatabaseHelper {
return await openDatabase(
path,
version: 8,
version: 9,
onCreate: _createDB,
onUpgrade: _onUpgrade,
);
@@ -59,6 +70,21 @@ class DatabaseHelper {
await _createBookReviewsTable(db);
await _createBookExcerptsTable(db);
}
if (oldVersion < 9) {
// 为笔记表添加图片字段
await _upgradeNotesTableV9(db);
}
}
/// 升级notes表到V9添加图片字段
Future<void> _upgradeNotesTableV9(Database db) async {
// 检查是否存在 images 列
final columns = await db.rawQuery('PRAGMA table_info(notes)');
final hasImages = columns.any((col) => col['name'] == 'images');
if (!hasImages) {
await db.execute('ALTER TABLE notes ADD COLUMN images TEXT');
}
}
/// 升级notes表到V6添加软删除字段
@@ -344,6 +370,7 @@ class DatabaseHelper {
content TEXT NOT NULL,
content_type TEXT DEFAULT 'markdown',
tags TEXT,
images TEXT,
created_at TEXT NOT NULL,
updated_at TEXT NOT NULL,
is_deleted INTEGER DEFAULT 0