summaryrefslogtreecommitdiffhomepage
path: root/internal/db/migrations
diff options
context:
space:
mode:
authorKujtim Hoxha <[email protected]>2025-03-23 19:19:08 +0100
committerKujtim Hoxha <[email protected]>2025-03-23 19:19:08 +0100
commit8daa6e774a6e02698c90392e7b2008542f789594 (patch)
tree8053fc1a4de87fc8dc3fd6e776577b0221c02ac5 /internal/db/migrations
parent796bbf4d66c0fc70e750c7f582019cb9a7298e59 (diff)
downloadopencode-8daa6e774a6e02698c90392e7b2008542f789594.tar.gz
opencode-8daa6e774a6e02698c90392e7b2008542f789594.zip
add initial stuff
Diffstat (limited to 'internal/db/migrations')
-rw-r--r--internal/db/migrations/000001_initial.down.sql4
-rw-r--r--internal/db/migrations/000001_initial.up.sql17
2 files changed, 21 insertions, 0 deletions
diff --git a/internal/db/migrations/000001_initial.down.sql b/internal/db/migrations/000001_initial.down.sql
new file mode 100644
index 000000000..7324ddb6a
--- /dev/null
+++ b/internal/db/migrations/000001_initial.down.sql
@@ -0,0 +1,4 @@
+-- sqlfluff:dialect:sqlite
+DROP TRIGGER IF EXISTS update_sessions_updated_at;
+
+DROP TABLE IF EXISTS sessions;
diff --git a/internal/db/migrations/000001_initial.up.sql b/internal/db/migrations/000001_initial.up.sql
new file mode 100644
index 000000000..115b6145b
--- /dev/null
+++ b/internal/db/migrations/000001_initial.up.sql
@@ -0,0 +1,17 @@
+-- sqlfluff:dialect:sqlite
+CREATE TABLE IF NOT EXISTS sessions (
+ id TEXT PRIMARY KEY,
+ title TEXT NOT NULL,
+ message_count INTEGER NOT NULL DEFAULT 0 CHECK (message_count >= 0),
+ tokens INTEGER NOT NULL DEFAULT 0 CHECK (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
+);
+
+CREATE TRIGGER IF NOT EXISTS update_sessions_updated_at
+AFTER UPDATE ON sessions
+BEGIN
+UPDATE sessions SET updated_at = strftime('%s', 'now')
+WHERE id = new.id;
+END;