summaryrefslogtreecommitdiffhomepage
path: root/internal/db/migrations
diff options
context:
space:
mode:
authorKujtim Hoxha <[email protected]>2025-04-13 11:29:20 +0200
committerKujtim Hoxha <[email protected]>2025-04-21 13:38:42 +0200
commitd63d0c4c44cb2356645fd112cec01598301f5949 (patch)
treea3a863a1c08ebb34885c1e38cfa76f9515cf7e54 /internal/db/migrations
parentbd2ec29b65e430f83f430db5fdc424c7d631989d (diff)
downloadopencode-d63d0c4c44cb2356645fd112cec01598301f5949.tar.gz
opencode-d63d0c4c44cb2356645fd112cec01598301f5949.zip
wip files
Diffstat (limited to 'internal/db/migrations')
-rw-r--r--internal/db/migrations/000001_initial.down.sql2
-rw-r--r--internal/db/migrations/000001_initial.up.sql22
2 files changed, 24 insertions, 0 deletions
diff --git a/internal/db/migrations/000001_initial.down.sql b/internal/db/migrations/000001_initial.down.sql
index 4f2712d86..a2b0d1321 100644
--- a/internal/db/migrations/000001_initial.down.sql
+++ b/internal/db/migrations/000001_initial.down.sql
@@ -1,8 +1,10 @@
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_session_message_count_on_delete;
DROP TRIGGER IF EXISTS update_session_message_count_on_insert;
DROP TABLE IF EXISTS sessions;
DROP TABLE IF EXISTS messages;
+DROP TABLE IF EXISTS files;
diff --git a/internal/db/migrations/000001_initial.up.sql b/internal/db/migrations/000001_initial.up.sql
index 03479449d..4ac297dc5 100644
--- a/internal/db/migrations/000001_initial.up.sql
+++ b/internal/db/migrations/000001_initial.up.sql
@@ -18,6 +18,28 @@ UPDATE sessions SET updated_at = strftime('%s', 'now')
WHERE id = new.id;
END;
+-- Files
+CREATE TABLE IF NOT EXISTS files (
+ id TEXT PRIMARY KEY,
+ session_id TEXT NOT NULL,
+ 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
+ FOREIGN KEY (session_id) REFERENCES sessions (id) ON DELETE CASCADE
+);
+
+CREATE INDEX IF NOT EXISTS idx_files_session_id ON files (session_id);
+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')
+WHERE id = new.id;
+END;
+
-- Messages
CREATE TABLE IF NOT EXISTS messages (
id TEXT PRIMARY KEY,