mirror of
https://github.com/Xevion/postgres-test.git
synced 2025-12-06 09:15:52 -06:00
Setup table build scripts (Account, Posting, PostingFilter)
This commit is contained in:
38
scripts/build.sql
Normal file
38
scripts/build.sql
Normal file
@@ -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)
|
||||||
|
|
||||||
|
);
|
||||||
Reference in New Issue
Block a user