1 DROP TABLE IF EXISTS voter;
2 CREATE TABLE voter (id serial NOT NULL, email VARCHAR(255) NOT NULL, PRIMARY KEY(id));
5 DROP TABLE IF EXISTS motion;
6 CREATE TABLE motion (id serial NOT NULL,
7 name VARCHAR(250) NOT NULL,
9 posed timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
10 posed_by int NOT NULL,
11 deadline timestamp NOT NULL DEFAULT (CURRENT_TIMESTAMP + interval '3 days'),
12 canceled timestamp NULL DEFAULT NULL,
13 cancelation_reason text NULL DEFAULT NULL,
14 canceled_by int NULL DEFAULT NULL,
18 DROP TABLE IF EXISTS vote;
19 DROP TYPE IF EXISTS "vote_type";
20 CREATE TYPE "vote_type" AS ENUM ('yes', 'no', 'abstain');
21 CREATE TABLE vote (motion_id INTEGER NOT NULL,
22 voter_id INTEGER NOT NULL,
23 result vote_type NOT NULL,
24 entered timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
25 PRIMARY KEY(motion_id, voter_id));