66a32169c06ad072453f9ccbe573ef12213bbe9e
3 * Met à jour la base de données en fonction de la version courante de celle ci.
4 * Si des tables n'existes pas elles sont automatiquement créées.
7 include_once("connexion.php");
9 $connexion = new Connexion();
15 nom varchar(50) NOT NULL,
16 valeur varchar(255) NOT NULL,
23 nom varchar(40) NOT NULL,
24 composition varchar(255) NOT NULL,
25 prix smallint NOT NULL,
32 nom varchar(200) NOT NULL,
38 CREATE TABLE participants (
40 pseudo varchar(50) DEFAULT NULL,
41 clan_nom varchar(30) DEFAULT NULL,
42 clan_tag varchar(10) DEFAULT NULL,
43 password varchar(10) DEFAULT NULL,
44 nom varchar(30) DEFAULT NULL,
45 prenom varchar(30) DEFAULT NULL,
46 age varchar(30) DEFAULT NULL,
47 e_mail varchar(50) DEFAULT NULL,
48 remarques varchar(255) DEFAULT NULL,
49 admin boolean NOT NULL default FALSE,
50 a_paye boolean NOT NULL default FALSE,
51 pizza int DEFAULT NULL,
52 pizza_paye boolean NOT NULL default FALSE,
55 FOREIGN KEY (pizza) REFERENCES pizzas (id) ON DELETE SET NULL ON UPDATE SET NULL
59 CREATE TABLE jeux_choisis (
60 participant_id int NOT NULL,
62 PRIMARY KEY (participant_id, jeu_id),
63 FOREIGN KEY (participant_id) REFERENCES participants (id) ON DELETE CASCADE ON UPDATE CASCADE,
64 FOREIGN KEY (jeu_id) REFERENCES jeux (id) ON DELETE CASCADE ON UPDATE CASCADE
68 CREATE TABLE periodes (
70 nom varchar(200) NOT NULL,
71 nom_abrege varchar(20) NOT NULL DEFAULT '',
76 CREATE TABLE participations (
77 participant_id serial NOT NULL,
78 periode_id int NOT NULL,
79 PRIMARY KEY (participant_id, periode_id),
80 FOREIGN KEY (participant_id) REFERENCES participants (id) ON DELETE CASCADE ON UPDATE CASCADE,
81 FOREIGN KEY (periode_id) REFERENCES periodes (id) ON DELETE CASCADE ON UPDATE CASCADE
86 function initialiser_db()
88 pg_query("INSERT INTO config (nom, valeur) VALUES ('version', 1)");
90 pg_query("INSERT INTO config (nom, valeur) VALUES ('cout_periode', '15')");
91 pg_query("INSERT INTO config (nom, valeur) VALUES ('cout_total', '40')");
92 pg_query("INSERT INTO config (nom, valeur) VALUES ('nb_max_participant', '25')");
93 pg_query("INSERT INTO config (nom, valeur) VALUES ('nb_votes_jeux', '3')");
94 pg_query("INSERT INTO config (nom, valeur) VALUES ('inscription_terminees', 'FALSE')");
95 pg_query("INSERT INTO config (nom, valeur) VALUES ('pizza_visible', 'FALSE')");
96 pg_query("INSERT INTO config (nom, valeur) VALUES ('pizza_peut_commander', 'TRUE')");
98 pg_query("INSERT INTO periodes (nom, nom_abrege) VALUES ('vendredi soir à samedi', 'v->s')");
99 pg_query("INSERT INTO periodes (nom, nom_abrege) VALUES ('samedi à dimanche', 's->d')");
100 pg_query("INSERT INTO periodes (nom, nom_abrege) VALUES ('dimanche à lundi', 'd->l')");
105 # si la table 'config' n'existe pas alors on suppose qu'aucune table n'existe
107 $res = @pg_fetch_object(pg_query("SELECT valeur FROM config WHERE nom = 'version'"));
108 if (pg_result_status($res) != PGSQL_COMMAND_OK
)
109 $version = $res->valeur
;
113 echo "Création de la base de donnée, version = 1";
121 # version 1 -> 2 (à utiliser pour une utilisation future)
128 pg_query("UPDATE config SET valeur = '2' WHERE nom = 'version'");