From dd0ef32a5cdf905a1314cb8e7200eca07e0dbeb4 Mon Sep 17 00:00:00 2001 From: Xevion Date: Sun, 23 Apr 2023 08:55:08 -0500 Subject: [PATCH] Setup table build scripts (Account, Posting, PostingFilter) --- scripts/build.sql | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 scripts/build.sql diff --git a/scripts/build.sql b/scripts/build.sql new file mode 100644 index 0000000..4208a90 --- /dev/null +++ b/scripts/build.sql @@ -0,0 +1,38 @@ +-- Account +CREATE TABLE IF NOT EXISTS Account +( + id serial NOT NULL PRIMARY KEY, + first_name varchar(255) NOT NULL, + last_name varchar(255) NOT NULL, + email varchar(255) NOT NULL +); + +-- Posting +CREATE TABLE IF NOT EXISTS Posting +( + id serial NOT NULL PRIMARY KEY, + name varchar(255) NOT NULL, + description text NOT NULL, + date date NOT NULL, + a bool NOT NULL, + b int NOT NULL, + c float NOT NULL +); + + +-- PostingFilter +CREATE TABLE IF NOT EXISTS PostingFilter +( + id serial NOT NULL PRIMARY KEY, + creator int NOT NULL REFERENCES Account (id) ON DELETE CASCADE, + name varchar(255) NOT NULL, + expires date NOT NULL, + a bool, + b_lower int, + b_upper int + CHECK (b_lower IS NULL OR b_upper IS NOT NULL), + c_lower float, + c_upper float + CHECK (c_lower IS NULL OR c_upper IS NOT NULL) + +);