Menu
Public repository / main
AkurAI-Build / migrations/013_schedules_and_secrets.sql
Latest change 8d41f1e10aceed387d425b43038f2070e399a349 - OLI-277: schedules, reusable workflows (include + inputs), per-repository secrets (value or PassVault), native caches by Ólafur Búi Ólafsson
-- OLI-277: scheduled runs and per-repository secrets.
ALTER TABLE runs ADD COLUMN schedule TEXT CHECK (schedule IS NULL OR length(schedule) BETWEEN 9 AND 64);
CREATE TABLE schedule_fires (
repository_id INTEGER NOT NULL REFERENCES repositories(id) ON DELETE CASCADE,
cron TEXT NOT NULL CHECK (length(cron) BETWEEN 9 AND 64),
branch TEXT NOT NULL CHECK (length(branch) BETWEEN 1 AND 200),
minute INTEGER NOT NULL,
run_id INTEGER REFERENCES runs(id) ON DELETE SET NULL,
PRIMARY KEY (repository_id, cron, branch, minute)
) STRICT;
CREATE TABLE repository_secrets (
repository_id INTEGER NOT NULL REFERENCES repositories(id) ON DELETE CASCADE,
name TEXT NOT NULL CHECK (length(name) BETWEEN 1 AND 64),
value TEXT CHECK (value IS NULL OR length(value) BETWEEN 1 AND 16384),
passvault TEXT CHECK (passvault IS NULL OR length(passvault) BETWEEN 1 AND 128),
created_at INTEGER NOT NULL DEFAULT (unixepoch()),
updated_at INTEGER NOT NULL DEFAULT (unixepoch()),
PRIMARY KEY (repository_id, name),
CHECK ((value IS NULL) <> (passvault IS NULL))
) STRICT;