]> WPIA git - motion.git/blob - sql/schema.sql
fix: forgot to increment sql schema version
[motion.git] / sql / schema.sql
1 DROP TABLE IF EXISTS voter;
2 CREATE TABLE voter (id serial NOT NULL, email VARCHAR(255) NOT NULL, PRIMARY KEY(id));
3
4
5 DROP TABLE IF EXISTS motion;
6 CREATE TABLE motion (id serial NOT NULL,
7                    identifier VARCHAR(20) NOT NULL,
8                    name VARCHAR(250) NOT NULL,
9                    type VARCHAR(250) NOT NULL,
10                    content text NOT NULL,
11                    posed timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
12                    posed_by int NOT NULL,
13                    deadline timestamp NOT NULL DEFAULT (CURRENT_TIMESTAMP + interval '3 days'),
14                    canceled timestamp NULL DEFAULT NULL,
15                    cancelation_reason text NULL DEFAULT NULL,
16                    canceled_by int NULL DEFAULT NULL,
17                    PRIMARY KEY(id));
18 CREATE UNIQUE INDEX motion_ident ON motion (identifier);
19
20 DROP TABLE IF EXISTS vote;
21 DROP TYPE IF EXISTS "vote_type";
22 CREATE TYPE "vote_type" AS ENUM ('yes', 'no', 'abstain');
23 CREATE TABLE vote (motion_id INTEGER NOT NULL,
24                  voter_id INTEGER NOT NULL,
25                  result vote_type NOT NULL,
26                  entered timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
27                  PRIMARY KEY(motion_id, voter_id));
28
29 DROP TABLE IF EXISTS schema_version;
30 CREATE TABLE schema_version (version INTEGER NOT NULL);
31 INSERT INTO schema_version(version) VALUES(2);