openreader/drizzle/postgres/0011_scheduled-tasks.sql
Richard R 2fb36a24c7 refactor(tasks): enforce positive interval and improve scheduled task updates
Add database-level check constraints to ensure scheduled task intervals are always
positive for both Postgres and SQLite. Update admin API and UI to support sub-minute
intervals and stricter validation. Refactor scheduled task update logic to upsert
rows, ensuring tasks can be updated even if not yet present in the database.
Improve temporary upload cleanup to delete in paginated batches. Enhance tests to
cover new constraints and update behaviors.
2026-06-07 09:54:18 -06:00

15 lines
560 B
SQL

CREATE TABLE "scheduled_tasks" (
"key" text PRIMARY KEY NOT NULL,
"enabled" boolean DEFAULT true NOT NULL,
"interval_ms" bigint NOT NULL,
"last_status" text DEFAULT 'idle' NOT NULL,
"last_run_at" bigint,
"last_duration_ms" bigint,
"last_error" text,
"last_result_json" text,
"next_run_at" bigint,
"run_requested" boolean DEFAULT false NOT NULL,
"running_since" bigint,
"updated_at" bigint DEFAULT (extract(epoch from now()) * 1000)::bigint NOT NULL,
CONSTRAINT "scheduled_tasks_interval_ms_positive" CHECK ("scheduled_tasks"."interval_ms" > 0)
);