]> projects.mako.cc - selectricity-live/blobdiff - db/create.sql
Working on a step-by-step workflow audit.
[selectricity-live] / db / create.sql
index e6013cfaf4a62876bc203b606142015bde80d1cf..4a2025f01ff542b820f699d40b5d48ad0586eae8 100644 (file)
@@ -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;
+

Benjamin Mako Hill || Want to submit a patch?