Commit rest of changes
This commit is contained in:
36
internal/storage/migrations/001_initial.sql
Normal file
36
internal/storage/migrations/001_initial.sql
Normal file
@@ -0,0 +1,36 @@
|
||||
-- sessions table stores high-level chat session metadata.
|
||||
CREATE TABLE IF NOT EXISTS sessions (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
name TEXT NOT NULL,
|
||||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
model_name TEXT NOT NULL,
|
||||
summary TEXT
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_sessions_name ON sessions(name);
|
||||
|
||||
-- messages table stores individual conversation messages linked to sessions.
|
||||
CREATE TABLE IF NOT EXISTS messages (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
session_id INTEGER NOT NULL,
|
||||
role TEXT NOT NULL,
|
||||
content TEXT NOT NULL,
|
||||
token_count INTEGER,
|
||||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY(session_id) REFERENCES sessions(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_messages_session_created_at ON messages(session_id, created_at);
|
||||
|
||||
-- models table tracks available models and usage metadata.
|
||||
CREATE TABLE IF NOT EXISTS models (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
name TEXT NOT NULL,
|
||||
display_name TEXT,
|
||||
provider TEXT,
|
||||
is_default BOOLEAN NOT NULL DEFAULT 0,
|
||||
last_used_at DATETIME
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_models_name ON models(name);
|
Reference in New Issue
Block a user