From d77e35596efa657a37d76d34898830f73d325c37 Mon Sep 17 00:00:00 2001 From: Bel LaPointe <153096461+breel-render@users.noreply.github.com> Date: Fri, 25 Apr 2025 16:47:44 -0600 Subject: [PATCH] WIP --- src/cmd/cron/main.go | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/cmd/cron/main.go b/src/cmd/cron/main.go index 2bd5e50..308c5e4 100644 --- a/src/cmd/cron/main.go +++ b/src/cmd/cron/main.go @@ -52,20 +52,32 @@ func initDB(ctx context.Context) error { mods := []string{ `CREATE TABLE "feed.entries" ( id SERIAL PRIMARY KEY NOT NULL, - created_at TIMESTAMP, - updated_at TIMESTAMP, + created_at TIMESTAMP NOT NULL, + updated_at TIMESTAMP NOT NULL, deleted_at TIMESTAMP )`, - `CREATE TABLE "feed.specs" ( - entries_id NUMBER, + + `CREATE TABLE "feed.versions" ( + entries_id NUMBER NOT NULL, + created_at TIMESTAMP NOT NULL, + PRIMARY KEY (entries_id, created_at), FOREIGN KEY (entries_id) REFERENCES "feed.entries" (id) )`, - `ALTER TABLE "feed.specs" ADD COLUMN url TEXT NOT NULL`, - `ALTER TABLE "feed.specs" ADD COLUMN cron TEXT NOT NULL DEFAULT '0 0 * * *'`, + `ALTER TABLE "feed.versions" ADD COLUMN url TEXT NOT NULL`, + `ALTER TABLE "feed.versions" ADD COLUMN cron TEXT NOT NULL DEFAULT '0 0 * * *'`, + + `CREATE TABLE "feed.current_versions" ( + entries_id NUMBER NOT NULL, + versions_created_at TIMESTAMP NOT NULL, + updated_at TIMESTAMP NOT NULL, + FOREIGN KEY (entries_id, versions_created_at) REFERENCES "feed.versions" (entries_id, created_at) + )`, + `CREATE TABLE "feed.executions" ( entries_id NUMBER, + versions_created_at TIMESTAMP NOT NULL, executed_at TIMESTAMP, - FOREIGN KEY (entries_id) REFERENCES "feed.entries" (id) + FOREIGN KEY (entries_id, versions_created_at) REFERENCES "feed.versions" (entries_id, created_at) )`, } mods = append([]string{""}, mods...)