diff options
| author | adamdottv <[email protected]> | 2025-05-13 13:08:43 -0500 |
|---|---|---|
| committer | adamdottv <[email protected]> | 2025-05-13 13:08:43 -0500 |
| commit | 01b6bf5bb7307246cb2cca7f1cbc8aba693941cc (patch) | |
| tree | f47f5aa2b323ce8fea55f6999308486ff790d26e /internal/db/migrations | |
| parent | d8f3b606258a5655d73acc94d6cb37b421350817 (diff) | |
| download | opencode-01b6bf5bb7307246cb2cca7f1cbc8aba693941cc.tar.gz opencode-01b6bf5bb7307246cb2cca7f1cbc8aba693941cc.zip | |
chore: refactor db
Diffstat (limited to 'internal/db/migrations')
| -rw-r--r-- | internal/db/migrations/20250502063010_add_summary_to_sessions.sql | 11 | ||||
| -rw-r--r-- | internal/db/migrations/20250508122310_create_logs_table.sql | 16 | ||||
| -rw-r--r-- | internal/db/migrations/20250513000000_initial.sql (renamed from internal/db/migrations/20250424200609_initial.sql) | 53 |
3 files changed, 40 insertions, 40 deletions
diff --git a/internal/db/migrations/20250502063010_add_summary_to_sessions.sql b/internal/db/migrations/20250502063010_add_summary_to_sessions.sql deleted file mode 100644 index 9cecfcedb..000000000 --- a/internal/db/migrations/20250502063010_add_summary_to_sessions.sql +++ /dev/null @@ -1,11 +0,0 @@ --- +goose Up --- +goose StatementBegin -ALTER TABLE sessions ADD COLUMN summary TEXT; -ALTER TABLE sessions ADD COLUMN summarized_at INTEGER; --- +goose StatementEnd - --- +goose Down --- +goose StatementBegin -ALTER TABLE sessions DROP COLUMN summarized_at; -ALTER TABLE sessions DROP COLUMN summary; --- +goose StatementEnd
\ No newline at end of file diff --git a/internal/db/migrations/20250508122310_create_logs_table.sql b/internal/db/migrations/20250508122310_create_logs_table.sql deleted file mode 100644 index f4876fbae..000000000 --- a/internal/db/migrations/20250508122310_create_logs_table.sql +++ /dev/null @@ -1,16 +0,0 @@ --- +goose Up -CREATE TABLE logs ( - id TEXT PRIMARY KEY, - session_id TEXT REFERENCES sessions(id) ON DELETE CASCADE, - timestamp INTEGER NOT NULL, - level TEXT NOT NULL, - message TEXT NOT NULL, - attributes TEXT, - created_at INTEGER NOT NULL -); - -CREATE INDEX logs_session_id_idx ON logs(session_id); -CREATE INDEX logs_timestamp_idx ON logs(timestamp); - --- +goose Down -DROP TABLE logs;
\ No newline at end of file diff --git a/internal/db/migrations/20250424200609_initial.sql b/internal/db/migrations/20250513000000_initial.sql index 02caecf0c..ad97a4ad3 100644 --- a/internal/db/migrations/20250424200609_initial.sql +++ b/internal/db/migrations/20250513000000_initial.sql @@ -6,17 +6,19 @@ CREATE TABLE IF NOT EXISTS sessions ( parent_session_id TEXT, title TEXT NOT NULL, message_count INTEGER NOT NULL DEFAULT 0 CHECK (message_count >= 0), - prompt_tokens INTEGER NOT NULL DEFAULT 0 CHECK (prompt_tokens >= 0), - completion_tokens INTEGER NOT NULL DEFAULT 0 CHECK (completion_tokens>= 0), + prompt_tokens INTEGER NOT NULL DEFAULT 0 CHECK (prompt_tokens >= 0), + completion_tokens INTEGER NOT NULL DEFAULT 0 CHECK (completion_tokens >= 0), cost REAL NOT NULL DEFAULT 0.0 CHECK (cost >= 0.0), - updated_at INTEGER NOT NULL, -- Unix timestamp in milliseconds - created_at INTEGER NOT NULL -- Unix timestamp in milliseconds + summary TEXT, + summarized_at TEXT, + updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%f000Z', 'now')), + created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%f000Z', 'now')) ); CREATE TRIGGER IF NOT EXISTS update_sessions_updated_at AFTER UPDATE ON sessions BEGIN -UPDATE sessions SET updated_at = strftime('%s', 'now') +UPDATE sessions SET updated_at = strftime('%Y-%m-%dT%H:%M:%f000Z', 'now') WHERE id = new.id; END; @@ -27,8 +29,9 @@ CREATE TABLE IF NOT EXISTS files ( path TEXT NOT NULL, content TEXT NOT NULL, version TEXT NOT NULL, - created_at INTEGER NOT NULL, -- Unix timestamp in milliseconds - updated_at INTEGER NOT NULL, -- Unix timestamp in milliseconds + is_new INTEGER DEFAULT 0, + created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%f000Z', 'now')), + updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%f000Z', 'now')), FOREIGN KEY (session_id) REFERENCES sessions (id) ON DELETE CASCADE, UNIQUE(path, session_id, version) ); @@ -39,7 +42,7 @@ CREATE INDEX IF NOT EXISTS idx_files_path ON files (path); CREATE TRIGGER IF NOT EXISTS update_files_updated_at AFTER UPDATE ON files BEGIN -UPDATE files SET updated_at = strftime('%s', 'now') +UPDATE files SET updated_at = strftime('%Y-%m-%dT%H:%M:%f000Z', 'now') WHERE id = new.id; END; @@ -50,9 +53,9 @@ CREATE TABLE IF NOT EXISTS messages ( role TEXT NOT NULL, parts TEXT NOT NULL default '[]', model TEXT, - created_at INTEGER NOT NULL, -- Unix timestamp in milliseconds - updated_at INTEGER NOT NULL, -- Unix timestamp in milliseconds - finished_at INTEGER, -- Unix timestamp in milliseconds + created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%f000Z', 'now')), + updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%f000Z', 'now')), + finished_at TEXT, FOREIGN KEY (session_id) REFERENCES sessions (id) ON DELETE CASCADE ); @@ -61,7 +64,7 @@ CREATE INDEX IF NOT EXISTS idx_messages_session_id ON messages (session_id); CREATE TRIGGER IF NOT EXISTS update_messages_updated_at AFTER UPDATE ON messages BEGIN -UPDATE messages SET updated_at = strftime('%s', 'now') +UPDATE messages SET updated_at = strftime('%Y-%m-%dT%H:%M:%f000Z', 'now') WHERE id = new.id; END; @@ -81,6 +84,28 @@ UPDATE sessions SET WHERE id = old.session_id; END; +-- Logs +CREATE TABLE IF NOT EXISTS logs ( + id TEXT PRIMARY KEY, + session_id TEXT REFERENCES sessions(id) ON DELETE CASCADE, + timestamp TEXT NOT NULL, + level TEXT NOT NULL, + message TEXT NOT NULL, + attributes TEXT, + created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%f000Z', 'now')), + updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%f000Z', 'now')) +); + +CREATE INDEX logs_session_id_idx ON logs(session_id); +CREATE INDEX logs_timestamp_idx ON logs(timestamp); + +CREATE TRIGGER IF NOT EXISTS update_logs_updated_at +AFTER UPDATE ON logs +BEGIN +UPDATE logs SET updated_at = strftime('%Y-%m-%dT%H:%M:%f000Z', 'now') +WHERE id = new.id; +END; + -- +goose StatementEnd -- +goose Down @@ -88,11 +113,13 @@ END; DROP TRIGGER IF EXISTS update_sessions_updated_at; DROP TRIGGER IF EXISTS update_messages_updated_at; DROP TRIGGER IF EXISTS update_files_updated_at; +DROP TRIGGER IF EXISTS update_logs_updated_at; DROP TRIGGER IF EXISTS update_session_message_count_on_delete; DROP TRIGGER IF EXISTS update_session_message_count_on_insert; -DROP TABLE IF EXISTS sessions; +DROP TABLE IF EXISTS logs; DROP TABLE IF EXISTS messages; DROP TABLE IF EXISTS files; +DROP TABLE IF EXISTS sessions; -- +goose StatementEnd |
