+drop table if exists user_choice;
drop table if exists choices;
+drop table if exists attachments;
drop table if exists votes;
+drop table if exists user_group;
+drop table if exists groups;
drop table if exists users;
create table users (
key TEXT
);
+create table groups (
+ id INTEGER primary key autoincrement,
+ name TEXT,
+ system INTEGER default 0 not null
+);
+
+create table user_group (
+ id_user INTEGER,
+ id_group INTEGER,
+ FOREIGN KEY(id_user) REFERENCES users(id),
+ FOREIGN KEY(id_group) REFERENCES groups(id),
+ PRIMARY KEY(id_user, id_group)
+);
+
create table votes (
id INTEGER primary key autoincrement,
title TEXT not null,
is_weighted INTEGER default 0 not null,
is_open INTEGER default 0 not null,
id_author INTEGER, -- :COMMENT:maethor:120528: not null ?
- --id_role INTEGER,
+ id_group INTEGER default 1 not null,
FOREIGN KEY(id_author) REFERENCES users(id)
- --FOREIGN KEY(id_role) REFERENCES role(id)
+ FOREIGN KEY(id_group) REFERENCES groups(id)
+);
+
+create table attachments (
+ id INTEGER primary key autoincrement,
+ url TEXT not null,
+ id_vote INTEGER not null,
+ FOREIGN KEY(id_vote) REFERENCES vote(id)
);
create table choices (
FOREIGN KEY(id_vote) REFERENCES vote(id)
);
+create table user_choice (
+ id_user INTEGER,
+ id_choice INTEGER,
+ weight INTEGER,
+ FOREIGN KEY(id_user) REFERENCES users(id),
+ FOREIGN KEY(id_choice) REFERENCES choices(id),
+ PRIMARY KEY(id_user, id_choice)
+);
+
-- Test data
-insert into users (email, password, name, organization, is_admin, key) values ("admin@admin.fr", "admin", "Toto (admin) Tata", "World corp", 1, "test");
+insert into users (email, password, name, organization, is_admin, key) values ("admin@admin.fr", "d033e22ae348aeb5660fc2140aec35850c4da997", "Toto (admin) Tata", "World corp", 1, "test"); -- mdp = admin
+insert into groups (id, name, system) values (1, "Tous", 1);
+insert into groups (name) values ("CA");
+insert into groups (name) values ("Members");