-# CREATE users TABLE
-#####################################
-
-#drop table if exists users;
-#create table users (
-# id int NOT NULL auto_increment,
-# login varchar(80) default NULL,
-# password varchar(40) default NULL,
-# primary key (id)
-#);
-
-## Create a default system user to own stage directions
-## and similar. Users cannot log in.
-#insert into users ( id, login ) values ( 1, "System Defaults" );
-
# CREATE elections TABLE
#####################################
drop table if exists elections;
create table elections (
- id int NOT NULL auto_increment,
+ id int NOT NULL auto_increment,
name varchar(100) NOT NULL,
description TEXT NOT NULL,
- anonymous tinyint NOT NULL DEFAULT 0,
- primary key (id)
+ anonymous tinyint NOT NULL DEFAULT 1,
+ startdate datetime,
+ enddate datetime NOT NULL,
+ active tinyint NOT NULL DEFAULT 0,
+ viewable tinyint NOT NULL DEFAULT 1,
+ notices tinyint NOT NULL DEFAULT 0,
+ user_id int NULL,
+ quickuser varchar(255) NULL, #stores session_id for quickvote creators
+ election_method varchar(100) DEFAULT 'ssd',
+ `type` varchar(100) NOT NULL,
+ primary key (id),
+ constraint fk_user_election foreign key (user_id) references users(id)
);
# CREATE candidates TABLE
id int NOT NULL auto_increment,
election_id int NOT NULL,
name varchar(100) NOT NULL,
- picture blob NOT NULL,
+ description text NULL,
+ primary key (id)
+);
+
+# CREATE pictures TABLE
+#####################################
+
+drop table if exists pictures;
+create table pictures (
+ id int NOT NULL auto_increment,
+ filename varchar(200),
+ data blob,
+ filetype varchar(100),
+ candidate_id int NULL,
+ constraint fk_candidate_picture foreign key (candidate_id) references candidates(id),
primary key (id)
);
drop table if exists voters;
create table voters (
id int NOT NULL auto_increment,
- username varchar(100) NOT NULL,
- password varchar(100) NOT NULL,
+ email varchar(100) NULL,
+ password varchar(100) NULL,
+ contacted tinyint NOT NULL DEFAULT 0,
+ election_id int NOT NULL,
+ session_id varchar(32) DEFAULT NULL,
+ ipaddress varchar(32) DEFAULT NULL,
+ constraint fk_election_voter foreign key (election_id) references election(id),
primary key (id)
);
+
# CREATE tokens TABLE
#####################################
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)
);
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,
+ time datetime DEFAULT NULL,
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)
);
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;
+
+#Following is the new users table that goes with acts_as_authenticated
+#Is simpler for now, saving the old table while in transition between
+#the two for ideas on what attributes may be helpful/necessary
+drop table if exists users;
+create table users (
+ id int not null auto_increment,
+ login text,
+ ip text not null,
+ email text,
+ crypted_password varchar(40),
+ salt varchar(40),
+ created_at datetime,
+ updated_at datetime,
+ remember_token text,
+ remember_token_expires_at datetime,
+ primary key(id)
+);