20260127000000_add_read_files_table.sql

 1-- +goose Up
 2-- +goose StatementBegin
 3CREATE TABLE IF NOT EXISTS read_files (
 4    session_id TEXT NOT NULL CHECK (session_id != ''),
 5    path TEXT NOT NULL CHECK (path != ''),
 6    read_at INTEGER NOT NULL,  -- Unix timestamp in seconds when file was last read
 7    FOREIGN KEY (session_id) REFERENCES sessions (id) ON DELETE CASCADE,
 8    PRIMARY KEY (path, session_id)
 9);
10
11CREATE INDEX IF NOT EXISTS idx_read_files_session_id ON read_files (session_id);
12CREATE INDEX IF NOT EXISTS idx_read_files_path ON read_files (path);
13-- +goose StatementEnd
14
15-- +goose Down
16-- +goose StatementBegin
17DROP INDEX IF EXISTS idx_read_files_path;
18DROP INDEX IF EXISTS idx_read_files_session_id;
19DROP TABLE IF EXISTS read_files;
20-- +goose StatementEnd