Files
vibe-kanban/backend/migrations/006_create_task_attempts.sql

34 lines
1.4 KiB
MySQL
Raw Normal View History

-- Create task_attempt_status enum
CREATE TYPE task_attempt_status AS ENUM ('init', 'inprogress', 'paused');
-- Create task_attempts table
CREATE TABLE task_attempts (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
task_id UUID NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,
worktree_path VARCHAR(255) NOT NULL,
base_commit VARCHAR(255),
merge_commit VARCHAR(255),
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
-- Create task_attempt_activities table
CREATE TABLE task_attempt_activities (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
task_attempt_id UUID NOT NULL REFERENCES task_attempts(id) ON DELETE CASCADE,
status task_attempt_status NOT NULL DEFAULT 'init',
note TEXT,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
-- Create indexes for better performance
CREATE INDEX idx_task_attempts_task_id ON task_attempts(task_id);
CREATE INDEX idx_task_attempt_activities_task_attempt_id ON task_attempt_activities(task_attempt_id);
CREATE INDEX idx_task_attempt_activities_status ON task_attempt_activities(status);
CREATE INDEX idx_task_attempt_activities_created_at ON task_attempt_activities(created_at);
-- Create triggers to auto-update updated_at
CREATE TRIGGER update_task_attempts_updated_at
BEFORE UPDATE ON task_attempts
FOR EACH ROW EXECUTE FUNCTION update_updated_at_column();