This repository has been archived on 2026-05-07. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
ccrm/server/internal/db/migrations.go

44 lines
1.2 KiB
Go

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
);`,
}