Files
vibe-kanban/backend/migrations/20250617183714_init.sql
Louis Knight-Webb 12f471cc58 Remove base commit
2025-06-19 21:28:36 -04:00

45 lines
1.7 KiB
SQL

PRAGMA foreign_keys = ON;
CREATE TABLE projects (
id BLOB PRIMARY KEY,
name TEXT NOT NULL,
git_repo_path TEXT NOT NULL DEFAULT '' UNIQUE,
setup_script TEXT DEFAULT '',
created_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec')),
updated_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec'))
);
CREATE TABLE tasks (
id BLOB PRIMARY KEY,
project_id BLOB NOT NULL,
title TEXT NOT NULL,
description TEXT,
status TEXT NOT NULL DEFAULT 'todo'
CHECK (status IN ('todo','inprogress','done','cancelled','inreview')),
created_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec')),
updated_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec')),
FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE
);
CREATE TABLE task_attempts (
id BLOB PRIMARY KEY,
task_id BLOB NOT NULL,
worktree_path TEXT NOT NULL,
merge_commit TEXT,
executor TEXT,
stdout TEXT,
stderr TEXT,
created_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec')),
updated_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec')),
FOREIGN KEY (task_id) REFERENCES tasks(id) ON DELETE CASCADE
);
CREATE TABLE task_attempt_activities (
id BLOB PRIMARY KEY,
task_attempt_id BLOB NOT NULL,
status TEXT NOT NULL DEFAULT 'init'
CHECK (status IN ('init','setuprunning','setupcomplete','setupfailed','executorrunning','executorcomplete','executorfailed','paused')), note TEXT,
created_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec')),
FOREIGN KEY (task_attempt_id) REFERENCES task_attempts(id) ON DELETE CASCADE
);