mirror of
https://github.com/Xevion/banner.git
synced 2025-12-16 00:11:08 -06:00
feat: setup diesel & schema, course with metrics/audit tables
This commit is contained in:
35
migrations/2025-08-27-231618_setup/up.sql
Normal file
35
migrations/2025-08-27-231618_setup/up.sql
Normal file
@@ -0,0 +1,35 @@
|
||||
-- Your SQL goes here
|
||||
CREATE TABLE "courses"(
|
||||
"id" INT4 NOT NULL PRIMARY KEY,
|
||||
"crn" VARCHAR NOT NULL,
|
||||
"subject" VARCHAR NOT NULL,
|
||||
"course_number" VARCHAR NOT NULL,
|
||||
"title" VARCHAR NOT NULL,
|
||||
"term_code" VARCHAR NOT NULL,
|
||||
"enrollment" INT4 NOT NULL,
|
||||
"max_enrollment" INT4 NOT NULL,
|
||||
"wait_count" INT4 NOT NULL,
|
||||
"wait_capacity" INT4 NOT NULL,
|
||||
"last_scraped_at" TIMESTAMPTZ NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE "course_metrics"(
|
||||
"id" INT4 NOT NULL PRIMARY KEY,
|
||||
"course_id" INT4 NOT NULL,
|
||||
"timestamp" TIMESTAMPTZ NOT NULL,
|
||||
"enrollment" INT4 NOT NULL,
|
||||
"wait_count" INT4 NOT NULL,
|
||||
"seats_available" INT4 NOT NULL,
|
||||
FOREIGN KEY ("course_id") REFERENCES "courses"("id")
|
||||
);
|
||||
|
||||
CREATE TABLE "course_audits"(
|
||||
"id" INT4 NOT NULL PRIMARY KEY,
|
||||
"course_id" INT4 NOT NULL,
|
||||
"timestamp" TIMESTAMPTZ NOT NULL,
|
||||
"field_changed" VARCHAR NOT NULL,
|
||||
"old_value" TEXT NOT NULL,
|
||||
"new_value" TEXT NOT NULL,
|
||||
FOREIGN KEY ("course_id") REFERENCES "courses"("id")
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user