aboutsummaryrefslogtreecommitdiffstats
path: root/dist/main/db/schema.js
diff options
context:
space:
mode:
Diffstat (limited to 'dist/main/db/schema.js')
-rw-r--r--dist/main/db/schema.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/dist/main/db/schema.js b/dist/main/db/schema.js
new file mode 100644
index 0000000..974e593
--- /dev/null
+++ b/dist/main/db/schema.js
@@ -0,0 +1,36 @@
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.initSchema = initSchema;
4function initSchema(db) {
5 db.exec(`
6 CREATE TABLE IF NOT EXISTS projects (
7 id TEXT PRIMARY KEY,
8 name TEXT NOT NULL,
9 path TEXT NOT NULL,
10 created_at INTEGER NOT NULL DEFAULT (unixepoch()),
11 updated_at INTEGER NOT NULL DEFAULT (unixepoch())
12 );
13
14 CREATE TABLE IF NOT EXISTS sessions (
15 id TEXT PRIMARY KEY,
16 project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
17 name TEXT NOT NULL,
18 phase TEXT NOT NULL DEFAULT 'research',
19 claude_session_id TEXT,
20 permission_mode TEXT NOT NULL DEFAULT 'acceptEdits',
21 created_at INTEGER NOT NULL DEFAULT (unixepoch()),
22 updated_at INTEGER NOT NULL DEFAULT (unixepoch())
23 );
24
25 CREATE TABLE IF NOT EXISTS messages (
26 id TEXT PRIMARY KEY,
27 session_id TEXT NOT NULL REFERENCES sessions(id) ON DELETE CASCADE,
28 role TEXT NOT NULL,
29 content TEXT NOT NULL,
30 created_at INTEGER NOT NULL DEFAULT (unixepoch())
31 );
32
33 CREATE INDEX IF NOT EXISTS idx_sessions_project ON sessions(project_id);
34 CREATE INDEX IF NOT EXISTS idx_messages_session ON messages(session_id);
35 `);
36}