nemunaire 2018-08-27 18:37:36 +02:00
parent 20dfd99ec0
commit 2a941a4fc7

View file

@ -62,7 +62,7 @@ CREATE TABLE IF NOT EXISTS events(
txt VARCHAR(255) NOT NULL, txt VARCHAR(255) NOT NULL,
kind ENUM('alert-primary', 'alert-secondary', 'alert-success', 'alert-danger', 'alert-warning', 'alert-info', 'alert-light', 'alert-dark') NOT NULL, kind ENUM('alert-primary', 'alert-secondary', 'alert-success', 'alert-danger', 'alert-warning', 'alert-info', 'alert-light', 'alert-dark') NOT NULL,
time TIMESTAMP NOT NULL time TIMESTAMP NOT NULL
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin; ) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
`); err != nil { `); err != nil {
return err return err
} }
@ -70,11 +70,11 @@ CREATE TABLE IF NOT EXISTS events(
CREATE TABLE IF NOT EXISTS themes( CREATE TABLE IF NOT EXISTS themes(
id_theme INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, id_theme INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL,
url_id VARCHAR(255) NOT NULL UNIQUE, url_id VARCHAR(191) NOT NULL UNIQUE,
path VARCHAR(255) NOT NULL UNIQUE, path VARCHAR(191) NOT NULL UNIQUE,
intro TEXT NOT NULL, intro TEXT NOT NULL,
authors TEXT NOT NULL authors TEXT NOT NULL
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin; ) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
`); err != nil { `); err != nil {
return err return err
} }
@ -83,7 +83,7 @@ CREATE TABLE IF NOT EXISTS teams(
id_team INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, id_team INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL,
color INTEGER NOT NULL color INTEGER NOT NULL
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin; ) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
`); err != nil { `); err != nil {
return err return err
} }
@ -93,7 +93,7 @@ CREATE TABLE IF NOT EXISTS certificates(
creation TIMESTAMP NOT NULL, creation TIMESTAMP NOT NULL,
password VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL,
revoked TIMESTAMP NULL revoked TIMESTAMP NULL
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin; ) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
`); err != nil { `); err != nil {
return err return err
} }
@ -106,7 +106,7 @@ CREATE TABLE IF NOT EXISTS team_members(
nickname VARCHAR(255) NOT NULL, nickname VARCHAR(255) NOT NULL,
company VARCHAR(255) NOT NULL, company VARCHAR(255) NOT NULL,
FOREIGN KEY(id_team) REFERENCES teams(id_team) FOREIGN KEY(id_team) REFERENCES teams(id_team)
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin; ) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
`); err != nil { `); err != nil {
return err return err
} }
@ -116,7 +116,7 @@ CREATE TABLE IF NOT EXISTS exercices(
id_theme INTEGER NOT NULL, id_theme INTEGER NOT NULL,
title VARCHAR(255) NOT NULL, title VARCHAR(255) NOT NULL,
url_id VARCHAR(255) NOT NULL, url_id VARCHAR(255) NOT NULL,
path VARCHAR(255) NOT NULL UNIQUE, path VARCHAR(191) NOT NULL UNIQUE,
statement TEXT NOT NULL, statement TEXT NOT NULL,
overview TEXT NOT NULL, overview TEXT NOT NULL,
depend INTEGER, depend INTEGER,
@ -125,7 +125,7 @@ CREATE TABLE IF NOT EXISTS exercices(
video_uri VARCHAR(255) NOT NULL, video_uri VARCHAR(255) NOT NULL,
FOREIGN KEY(id_theme) REFERENCES themes(id_theme), FOREIGN KEY(id_theme) REFERENCES themes(id_theme),
FOREIGN KEY(depend) REFERENCES exercices(id_exercice) FOREIGN KEY(depend) REFERENCES exercices(id_exercice)
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin; ) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
`); err != nil { `); err != nil {
return err return err
} }
@ -133,13 +133,13 @@ CREATE TABLE IF NOT EXISTS exercices(
CREATE TABLE IF NOT EXISTS exercice_files( CREATE TABLE IF NOT EXISTS exercice_files(
id_file INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, id_file INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
origin VARCHAR(255) NOT NULL, origin VARCHAR(255) NOT NULL,
path VARCHAR(255) NOT NULL UNIQUE, path VARCHAR(191) NOT NULL UNIQUE,
id_exercice INTEGER NOT NULL, id_exercice INTEGER NOT NULL,
name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL,
cksum BINARY(64) NOT NULL, cksum BINARY(64) NOT NULL,
size INTEGER NOT NULL, size INTEGER NOT NULL,
FOREIGN KEY(id_exercice) REFERENCES exercices(id_exercice) FOREIGN KEY(id_exercice) REFERENCES exercices(id_exercice)
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin; ) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
`); err != nil { `); err != nil {
return err return err
} }
@ -151,7 +151,7 @@ CREATE TABLE IF NOT EXISTS exercice_hints(
content TEXT NOT NULL, content TEXT NOT NULL,
cost INTEGER NOT NULL, cost INTEGER NOT NULL,
FOREIGN KEY(id_exercice) REFERENCES exercices(id_exercice) FOREIGN KEY(id_exercice) REFERENCES exercices(id_exercice)
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin; ) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
`); err != nil { `); err != nil {
return err return err
} }
@ -162,7 +162,7 @@ CREATE TABLE IF NOT EXISTS exercice_keys(
type VARCHAR(255) NOT NULL, type VARCHAR(255) NOT NULL,
cksum BINARY(64) NOT NULL, cksum BINARY(64) NOT NULL,
FOREIGN KEY(id_exercice) REFERENCES exercices(id_exercice) FOREIGN KEY(id_exercice) REFERENCES exercices(id_exercice)
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin; ) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
`); err != nil { `); err != nil {
return err return err
} }
@ -172,7 +172,7 @@ CREATE TABLE IF NOT EXISTS exercice_mcq(
id_exercice INTEGER NOT NULL, id_exercice INTEGER NOT NULL,
title VARCHAR(255) NOT NULL, title VARCHAR(255) NOT NULL,
FOREIGN KEY(id_exercice) REFERENCES exercices(id_exercice) FOREIGN KEY(id_exercice) REFERENCES exercices(id_exercice)
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin; ) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
`); err != nil { `); err != nil {
return err return err
} }
@ -183,7 +183,7 @@ CREATE TABLE IF NOT EXISTS mcq_entries(
label VARCHAR(255) NOT NULL, label VARCHAR(255) NOT NULL,
response BOOLEAN NOT NULL, response BOOLEAN NOT NULL,
FOREIGN KEY(id_mcq) REFERENCES exercice_mcq(id_mcq) FOREIGN KEY(id_mcq) REFERENCES exercice_mcq(id_mcq)
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin; ) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
`); err != nil { `); err != nil {
return err return err
} }
@ -195,7 +195,7 @@ CREATE TABLE IF NOT EXISTS mcq_found(
CONSTRAINT uq_found UNIQUE (id_mcq,id_team), CONSTRAINT uq_found UNIQUE (id_mcq,id_team),
FOREIGN KEY(id_mcq) REFERENCES exercice_mcq(id_mcq), FOREIGN KEY(id_mcq) REFERENCES exercice_mcq(id_mcq),
FOREIGN KEY(id_team) REFERENCES teams(id_team) FOREIGN KEY(id_team) REFERENCES teams(id_team)
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin; ) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
`); err != nil { `); err != nil {
return err return err
} }
@ -207,7 +207,7 @@ CREATE TABLE IF NOT EXISTS key_found(
CONSTRAINT uc_found UNIQUE (id_key,id_team), CONSTRAINT uc_found UNIQUE (id_key,id_team),
FOREIGN KEY(id_key) REFERENCES exercice_keys(id_key), FOREIGN KEY(id_key) REFERENCES exercice_keys(id_key),
FOREIGN KEY(id_team) REFERENCES teams(id_team) FOREIGN KEY(id_team) REFERENCES teams(id_team)
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin; ) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
`); err != nil { `); err != nil {
return err return err
} }
@ -220,7 +220,7 @@ CREATE TABLE IF NOT EXISTS exercice_solved(
CONSTRAINT uc_solved UNIQUE (id_exercice,id_team), CONSTRAINT uc_solved UNIQUE (id_exercice,id_team),
FOREIGN KEY(id_exercice) REFERENCES exercices(id_exercice), FOREIGN KEY(id_exercice) REFERENCES exercices(id_exercice),
FOREIGN KEY(id_team) REFERENCES teams(id_team) FOREIGN KEY(id_team) REFERENCES teams(id_team)
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin; ) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
`); err != nil { `); err != nil {
return err return err
} }
@ -232,7 +232,7 @@ CREATE TABLE IF NOT EXISTS exercice_tries(
nbdiff INTEGER NOT NULL DEFAULT 0, nbdiff INTEGER NOT NULL DEFAULT 0,
FOREIGN KEY(id_exercice) REFERENCES exercices(id_exercice), FOREIGN KEY(id_exercice) REFERENCES exercices(id_exercice),
FOREIGN KEY(id_team) REFERENCES teams(id_team) FOREIGN KEY(id_team) REFERENCES teams(id_team)
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin; ) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
`); err != nil { `); err != nil {
return err return err
} }
@ -244,15 +244,15 @@ CREATE TABLE IF NOT EXISTS team_hints(
CONSTRAINT uc_displayed UNIQUE (id_team,id_hint), CONSTRAINT uc_displayed UNIQUE (id_team,id_hint),
FOREIGN KEY(id_hint) REFERENCES exercice_hints(id_hint), FOREIGN KEY(id_hint) REFERENCES exercice_hints(id_hint),
FOREIGN KEY(id_team) REFERENCES teams(id_team) FOREIGN KEY(id_team) REFERENCES teams(id_team)
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin; ) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
`); err != nil { `); err != nil {
return err return err
} }
if _, err := db.Exec(` if _, err := db.Exec(`
CREATE TABLE IF NOT EXISTS claim_assignees( CREATE TABLE IF NOT EXISTS claim_assignees(
id_assignee INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, id_assignee INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) NOT NULL UNIQUE name VARCHAR(191) NOT NULL UNIQUE
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin; ) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
`); err != nil { `); err != nil {
return err return err
} }
@ -267,7 +267,7 @@ CREATE TABLE IF NOT EXISTS claims(
priority ENUM('low', 'medium', 'high', 'critical') NOT NULL, priority ENUM('low', 'medium', 'high', 'critical') NOT NULL,
FOREIGN KEY(id_assignee) REFERENCES claim_assignees(id_assignee), FOREIGN KEY(id_assignee) REFERENCES claim_assignees(id_assignee),
FOREIGN KEY(id_team) REFERENCES teams(id_team) FOREIGN KEY(id_team) REFERENCES teams(id_team)
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin; ) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
`); err != nil { `); err != nil {
return err return err
} }
@ -280,7 +280,7 @@ CREATE TABLE IF NOT EXISTS claim_descriptions(
content TEXT NOT NULL, content TEXT NOT NULL,
FOREIGN KEY(id_assignee) REFERENCES claim_assignees(id_assignee), FOREIGN KEY(id_assignee) REFERENCES claim_assignees(id_assignee),
FOREIGN KEY(id_claim) REFERENCES claims(id_claim) FOREIGN KEY(id_claim) REFERENCES claims(id_claim)
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin; ) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
`); err != nil { `); err != nil {
return err return err
} }