X-Git-Url: https://projects.mako.cc/source/selectricity-live/blobdiff_plain/cc4532dee83d19baf79b35fadf7064b9b5c3948a..4efa3e9bc47cc649205a399fde51ed7e61bef7f8:/db/create.sql?ds=sidebyside diff --git a/db/create.sql b/db/create.sql index e6013cf..4a2025f 100644 --- a/db/create.sql +++ b/db/create.sql @@ -22,7 +22,11 @@ create table elections ( name varchar(100) NOT NULL, description TEXT NOT NULL, anonymous tinyint NOT NULL DEFAULT 0, - primary key (id) + startdate datetime NOT NULL, + enddate datetime, + user_id int NOT NULL, + primary key (id), + constraint fk_user_election foreign key (user_id) references users(id) ); # CREATE candidates TABLE @@ -33,6 +37,7 @@ create table candidates ( id int NOT NULL auto_increment, election_id int NOT NULL, name varchar(100) NOT NULL, + description text NULL, picture blob NOT NULL, primary key (id) ); @@ -43,8 +48,11 @@ create table candidates ( drop table if exists voters; create table voters ( id int NOT NULL auto_increment, - username varchar(100) NOT NULL, + email varchar(100) NOT NULL, password varchar(100) NOT NULL, + contacted tinyint NOT NULL DEFAULT 0, + election_id int NOT NULL, + constraint fk_election_voter foreign key (election_id) references election(id), primary key (id) ); @@ -55,6 +63,8 @@ drop table if exists tokens; create table tokens( id int NOT NULL auto_increment, token varchar(100) NOT NULL, + vote_id int NOT NULL, + constraint fk_vote_token foreign key (vote_id) references vote(id), primary key (id) ); @@ -65,9 +75,8 @@ drop table if exists votes; create table votes ( id int NOT NULL auto_increment, voter_id int DEFAULT NULL, - token_id int DEFAULT NULL, + confirmed tinyint NOT NULL DEFAULT 0, constraint fk_vote_voter foreign key (voter_id) references voters(id), - constraint fk_vote_token foreign key (token_id) references token(id), primary key (id) ); @@ -83,3 +92,26 @@ create table rankings ( primary key (id) ); +# CREATE users TABLE +##################################### +DROP TABLE IF EXISTS `users`; +CREATE TABLE `users` ( + `id` int(11) NOT NULL auto_increment, + `login` varchar(80) NOT NULL default '', + `salted_password` varchar(40) NOT NULL default '', + `email` varchar(60) NOT NULL default '', + `firstname` varchar(40) default NULL, + `lastname` varchar(40) default NULL, + `salt` varchar(40) NOT NULL default '', + `verified` int(11) default '0', + `role` varchar(40) default NULL, + `security_token` varchar(40) default NULL, + `token_expiry` datetime default NULL, + `created_at` datetime default NULL, + `updated_at` datetime default NULL, + `logged_in_at` datetime default NULL, + `deleted` int(11) default '0', + `delete_after` datetime default NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +