libfic: start working on MCQ: structures done
This commit is contained in:
parent
31b80a5b2a
commit
c36cd202e8
3 changed files with 145 additions and 1 deletions
23
libfic/db.go
23
libfic/db.go
|
|
@ -138,6 +138,28 @@ CREATE TABLE IF NOT EXISTS exercice_keys(
|
|||
cksum BINARY(64) NOT NULL,
|
||||
FOREIGN KEY(id_exercice) REFERENCES exercices(id_exercice)
|
||||
);
|
||||
`); err != nil {
|
||||
return err
|
||||
}
|
||||
if _, err := db.Exec(`
|
||||
CREATE TABLE IF NOT EXISTS exercice_mcq(
|
||||
id_mcq INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
id_exercice INTEGER NOT NULL,
|
||||
title VARCHAR(255) NOT NULL,
|
||||
kind ENUM('checkbox', 'radio', 'select') NOT NULL,
|
||||
FOREIGN KEY(id_exercice) REFERENCES exercices(id_exercice)
|
||||
);
|
||||
`); err != nil {
|
||||
return err
|
||||
}
|
||||
if _, err := db.Exec(`
|
||||
CREATE TABLE IF NOT EXISTS mcq_entries(
|
||||
id_mcq_entry INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
id_mcq INTEGER NOT NULL,
|
||||
label VARCHAR(255) NOT NULL,
|
||||
response BOOLEAN NOT NULL,
|
||||
FOREIGN KEY(id_mcq) REFERENCES exercice_mcq(id_mcq)
|
||||
);
|
||||
`); err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -146,6 +168,7 @@ CREATE TABLE IF NOT EXISTS key_found(
|
|||
id_key INTEGER NOT NULL,
|
||||
id_team INTEGER NOT NULL,
|
||||
time TIMESTAMP NOT NULL,
|
||||
CONSTRAINT uc_found UNIQUE (id_key,id_team),
|
||||
FOREIGN KEY(id_key) REFERENCES exercice_keys(id_key),
|
||||
FOREIGN KEY(id_team) REFERENCES teams(id_team)
|
||||
);
|
||||
|
|
|
|||
Reference in a new issue