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{
`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...)