package db var migrations = []string{ // Migration 1: Initial schema `CREATE TABLE IF NOT EXISTS machines ( id TEXT PRIMARY KEY, name TEXT NOT NULL, api_key TEXT NOT NULL UNIQUE, last_seen DATETIME, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS sessions ( id TEXT PRIMARY KEY, machine_id TEXT REFERENCES machines(id), name TEXT NOT NULL, tmux_session TEXT NOT NULL, project_path TEXT NOT NULL, claude_session_id TEXT, status TEXT DEFAULT 'starting', is_worktree BOOLEAN DEFAULT FALSE, worktree_branch TEXT, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, ended_at DATETIME, UNIQUE(machine_id, name) ); CREATE TABLE IF NOT EXISTS events ( id INTEGER PRIMARY KEY AUTOINCREMENT, session_id TEXT REFERENCES sessions(id), event_name TEXT NOT NULL, tool_name TEXT, payload TEXT NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); CREATE INDEX IF NOT EXISTS idx_events_session_id ON events(session_id); CREATE INDEX IF NOT EXISTS idx_events_created_at ON events(created_at); CREATE TABLE IF NOT EXISTS schema_migrations ( version INTEGER PRIMARY KEY, applied_at DATETIME DEFAULT CURRENT_TIMESTAMP );`, }