github.com/benoitkugler/goacve@v0.0.0-20201217100549-151ce6e55dc8/server/vote/2db.sql (about) 1 -- DO NOT EDIT - autogenerated by structgen 2 CREATE TABLE candidats ( 3 id serial PRIMARY KEY, 4 id_vote integer NOT NULL, 5 label varchar NOT NULL 6 ); 7 8 CREATE TABLE votes ( 9 id serial PRIMARY KEY, 10 nom varchar NOT NULL, 11 description varchar NOT NULL, 12 is_qcm boolean NOT NULL, 13 is_locked boolean NOT NULL 14 ); 15 16 CREATE TABLE vote_personnes ( 17 id_vote integer NOT NULL, 18 id_personne integer NOT NULL, 19 time timestamp NOT NULL 20 ); 21 22 CREATE TABLE vote_personne_candidats ( 23 id_vote integer NOT NULL, 24 id_personne integer NOT NULL, 25 id_candidat integer NOT NULL 26 ); 27 28 ALTER TABLE candidats 29 ADD FOREIGN KEY (id_vote) REFERENCES votes; 30 31 ALTER TABLE vote_personnes 32 ADD FOREIGN KEY (id_vote) REFERENCES votes; 33 34 ALTER TABLE vote_personnes 35 ADD FOREIGN KEY (id_personne) REFERENCES personnes; 36 37 ALTER TABLE vote_personne_candidats 38 ADD FOREIGN KEY (id_vote) REFERENCES votes; 39 40 ALTER TABLE vote_personne_candidats 41 ADD FOREIGN KEY (id_personne) REFERENCES personnes; 42 43 ALTER TABLE vote_personne_candidats 44 ADD FOREIGN KEY (id_candidat) REFERENCES candidats; 45 46 ALTER TABLE candidats 47 ADD UNIQUE (id, id_vote); 48 49 ALTER TABLE vote_personnes 50 ADD UNIQUE (id_personne, id_vote); 51 52 ALTER TABLE vote_personne_candidats 53 ADD FOREIGN KEY (id_vote, id_personne) REFERENCES vote_personnes (id_vote, id_personne); 54 55 ALTER TABLE vote_personne_candidats 56 ADD FOREIGN KEY (id_vote, id_candidat) REFERENCES candidats (id_vote, id); 57 58 ALTER TABLE vote_personne_candidats 59 ADD UNIQUE (id_vote, id_personne, id_candidat); 60