X-Git-Url: https://code.wpia.club/?p=motion.git;a=blobdiff_plain;f=sql%2Fschema.sql;h=690425bdbcf697509ac116210c89fd62181190ee;hp=c374ed7afded8040937724aa7ab8869d5e272466;hb=1653400a1d07f3433e1f8e10f484de9f88593c3f;hpb=7a7e1a4494852d8710b74737c8278adf2869cfec diff --git a/sql/schema.sql b/sql/schema.sql index c374ed7..690425b 100644 --- a/sql/schema.sql +++ b/sql/schema.sql @@ -1,5 +1,8 @@ DROP TABLE IF EXISTS voter; -CREATE TABLE voter (id serial NOT NULL, email VARCHAR(255) NOT NULL, PRIMARY KEY(id)); +CREATE TABLE voter (id serial NOT NULL, + email VARCHAR(255) NOT NULL, + host VARCHAR(500) NOT NULL, + PRIMARY KEY(id)); DROP TABLE IF EXISTS motion; @@ -7,6 +10,7 @@ CREATE TABLE motion (id serial NOT NULL, identifier VARCHAR(20) NOT NULL, name VARCHAR(250) NOT NULL, type VARCHAR(250) NOT NULL, + host VARCHAR(500) NOT NULL, content text NOT NULL, posed timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, posed_by int NOT NULL, @@ -24,8 +28,21 @@ CREATE TABLE vote (motion_id INTEGER NOT NULL, voter_id INTEGER NOT NULL, result vote_type NOT NULL, entered timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + proxy_id INTEGER NOT NULL, PRIMARY KEY(motion_id, voter_id)); +DROP TABLE IF EXISTS proxy; +CREATE TABLE proxy (id serial NOT NULL, + voter_id INTEGER NOT NULL, + proxy_id INTEGER NOT NULL, + granted timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + granted_by int NOT NULL, + revoked timestamp NULL DEFAULT NULL, + revoked_by int NULL DEFAULT NULL, + PRIMARY KEY(id)); +CREATE INDEX proxy_voter ON proxy (voter_id); +CREATE INDEX proxy_proxy ON proxy (proxy_id); + DROP TABLE IF EXISTS schema_version; CREATE TABLE schema_version (version INTEGER NOT NULL); -INSERT INTO schema_version(version) VALUES(2); +INSERT INTO schema_version(version) VALUES(6);