Bel LaPointe 2025-04-25 16:47:44 -06:00
parent 94f865174b
commit d77e35596e
1 changed files with 19 additions and 7 deletions

View File

@ -52,20 +52,32 @@ func initDB(ctx context.Context) error {
mods := []string{ mods := []string{
`CREATE TABLE "feed.entries" ( `CREATE TABLE "feed.entries" (
id SERIAL PRIMARY KEY NOT NULL, id SERIAL PRIMARY KEY NOT NULL,
created_at TIMESTAMP, created_at TIMESTAMP NOT NULL,
updated_at TIMESTAMP, updated_at TIMESTAMP NOT NULL,
deleted_at TIMESTAMP 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) FOREIGN KEY (entries_id) REFERENCES "feed.entries" (id)
)`, )`,
`ALTER TABLE "feed.specs" ADD COLUMN url TEXT NOT NULL`, `ALTER TABLE "feed.versions" 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 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" ( `CREATE TABLE "feed.executions" (
entries_id NUMBER, entries_id NUMBER,
versions_created_at TIMESTAMP NOT NULL,
executed_at TIMESTAMP, 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...) mods = append([]string{""}, mods...)