* 创建数据表
()
| 45 | * 创建数据表 |
| 46 | */ |
| 47 | async createTables() { |
| 48 | const tables = [ |
| 49 | // 用户表 |
| 50 | `CREATE TABLE IF NOT EXISTS users ( |
| 51 | id INTEGER PRIMARY KEY AUTOINCREMENT, |
| 52 | username TEXT UNIQUE NOT NULL, |
| 53 | password TEXT NOT NULL, |
| 54 | created_at DATETIME DEFAULT CURRENT_TIMESTAMP, |
| 55 | updated_at DATETIME DEFAULT CURRENT_TIMESTAMP, |
| 56 | login_count INTEGER DEFAULT 0, |
| 57 | last_login DATETIME |
| 58 | )`, |
| 59 | |
| 60 | // 配置表 |
| 61 | `CREATE TABLE IF NOT EXISTS configs ( |
| 62 | id INTEGER PRIMARY KEY AUTOINCREMENT, |
| 63 | key TEXT UNIQUE NOT NULL, |
| 64 | value TEXT NOT NULL, |
| 65 | type TEXT DEFAULT 'string', |
| 66 | description TEXT, |
| 67 | created_at DATETIME DEFAULT CURRENT_TIMESTAMP, |
| 68 | updated_at DATETIME DEFAULT CURRENT_TIMESTAMP |
| 69 | )`, |
| 70 | |
| 71 | // 文档表 |
| 72 | `CREATE TABLE IF NOT EXISTS documents ( |
| 73 | id INTEGER PRIMARY KEY AUTOINCREMENT, |
| 74 | doc_id TEXT UNIQUE NOT NULL, |
| 75 | title TEXT NOT NULL, |
| 76 | content TEXT NOT NULL, |
| 77 | published BOOLEAN DEFAULT 0, |
| 78 | created_at DATETIME DEFAULT CURRENT_TIMESTAMP, |
| 79 | updated_at DATETIME DEFAULT CURRENT_TIMESTAMP |
| 80 | )`, |
| 81 | |
| 82 | // 系统日志表 |
| 83 | `CREATE TABLE IF NOT EXISTS system_logs ( |
| 84 | id INTEGER PRIMARY KEY AUTOINCREMENT, |
| 85 | level TEXT NOT NULL, |
| 86 | message TEXT NOT NULL, |
| 87 | details TEXT, |
| 88 | created_at DATETIME DEFAULT CURRENT_TIMESTAMP |
| 89 | )`, |
| 90 | |
| 91 | // Session表 - 用于存储用户会话 |
| 92 | `CREATE TABLE IF NOT EXISTS sessions ( |
| 93 | sid TEXT PRIMARY KEY, |
| 94 | sess TEXT NOT NULL, |
| 95 | expire DATETIME NOT NULL |
| 96 | )`, |
| 97 | |
| 98 | // 菜单项表 - 用于存储导航菜单配置 |
| 99 | `CREATE TABLE IF NOT EXISTS menu_items ( |
| 100 | id INTEGER PRIMARY KEY AUTOINCREMENT, |
| 101 | text TEXT NOT NULL, |
| 102 | link TEXT NOT NULL, |
| 103 | new_tab BOOLEAN DEFAULT 0, |
| 104 | sort_order INTEGER DEFAULT 0, |
no test coverage detected