Files
byre/internal/store/migrations/096-add-schedules.sql
T

24 lines
830 B
SQL

CREATE TABLE schedules (
id TEXT PRIMARY KEY,
project_id TEXT NOT NULL REFERENCES projects(id),
owner TEXT NOT NULL REFERENCES users(login),
title TEXT NOT NULL,
every TEXT NOT NULL CHECK (every IN ('hour', 'day', 'week', 'month')),
hour INTEGER NOT NULL CHECK (hour BETWEEN 0 AND 23),
minute INTEGER NOT NULL CHECK (minute BETWEEN 0 AND 59),
day_of_month INTEGER NOT NULL CHECK (day_of_month BETWEEN 0 AND 31),
prompt TEXT NOT NULL,
model TEXT NOT NULL,
workflow TEXT NOT NULL,
next_run_at TEXT NOT NULL,
created_at TEXT NOT NULL
);
CREATE INDEX schedules_by_next_run ON schedules (next_run_at);
CREATE TABLE schedule_weekdays (
schedule_id TEXT NOT NULL REFERENCES schedules(id),
weekday TEXT NOT NULL CHECK (weekday IN ('mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun')),
PRIMARY KEY (schedule_id, weekday)
);