diff --git a/generate_base.sql b/generate_base.sql index 922979461979a6b26ca73bf8eaffd28210dd7626..e91ec89a8cf5bbd7df035bb86f3bcfc464adab6a 100644 --- a/generate_base.sql +++ b/generate_base.sql @@ -1,15 +1,20 @@ +-- Pour générer la base de données PostgreSQL pour le projet Classements Ludiques +CREATE TYPE type_jeu AS ENUM ('duels', 'equipes'); +CREATE TYPE type_scores_jeu AS ENUM ('classement', 'scores'); + + DROP TABLE IF EXISTS R_jeu; CREATE TABLE R_jeu ( nom VARCHAR(255) NOT NULL, description TEXT NOT NULL, slug VARCHAR(255) PRIMARY KEY, - est_valide TINYINT(1) NOT NULL, - max_joueurs INT(11), - min_joueurs INT(11), - min_equipes INT(11), - max_equipes INT(11), - type ENUM ('duels', 'equipes') NOT NULL, - type_scores ENUM ('classement', 'scores') NOT NULL + est_valide BOOLEAN NOT NULL, + max_joueurs INT, + min_joueurs INT, + min_equipes INT, + max_equipes INT, + type type_jeu NOT NULL, + type_scores type_scores_jeu NOT NULL ); DROP TABLE IF EXISTS R_joueur; @@ -32,18 +37,18 @@ CREATE TABLE R_admin ( DROP TABLE IF EXISTS R_partie; CREATE TABLE R_partie ( - id INT(11) PRIMARY KEY AUTO_INCREMENT, + id SERIAL PRIMARY KEY, jeu VARCHAR(255) REFERENCES R_jeu(slug), date TIMESTAMP NOT NULL ); DROP TABLE IF EXISTS R_joueur_partie; CREATE TABLE R_joueur_partie ( - partie INT(11) REFERENCES R_partie(id), + partie INT REFERENCES R_partie(id), joueur VARCHAR(255) REFERENCES R_joueur(slug), - classement INT(11) NOT NULL, - score INT(11) NOT NULL, - score_partie INT(11), + classement INT NOT NULL, + score INT NOT NULL, + score_partie INT, PRIMARY KEY (joueur, partie) ); @@ -51,9 +56,9 @@ DROP TABLE IF EXISTS R_joueur_jeu; CREATE TABLE R_joueur_jeu ( joueur varchar(255) REFERENCES R_joueur(slug), jeu VARCHAR(255) REFERENCES R_jeu(slug), - score INT(11), - classement INT(11), - est_jeu_favoris tinyint(1), + score INT, + classement INT, + est_jeu_favoris BOOLEAN, PRIMARY KEY (joueur, jeu) );