mirror of
https://github.com/Xevion/postgres-test.git
synced 2025-12-06 05:15:56 -06:00
39 lines
1009 B
SQL
39 lines
1009 B
SQL
-- 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)
|
|
|
|
);
|