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,
37 // participants.password est un hash calculé à l'aide de sha1().
39 CREATE TABLE participants (
41 pseudo varchar(50) DEFAULT NULL,
42 clan_nom varchar(30) DEFAULT NULL,
43 clan_tag varchar(10) DEFAULT NULL,
44 password char(40) DEFAULT NULL,
45 nom varchar(30) DEFAULT NULL,
46 prenom varchar(30) DEFAULT NULL,
47 age varchar(30) DEFAULT NULL,
48 e_mail varchar(50) DEFAULT NULL,
49 remarques varchar(255) DEFAULT NULL,
50 admin boolean NOT NULL default FALSE,
51 a_paye boolean NOT NULL default FALSE,
52 pizza int DEFAULT NULL,
53 pizza_paye boolean NOT NULL default FALSE,
56 FOREIGN KEY (pizza) REFERENCES pizzas (id) ON DELETE SET NULL ON UPDATE SET NULL
60 CREATE TABLE jeux_choisis (
61 participant_id int NOT NULL,
63 PRIMARY KEY (participant_id, jeu_id),
64 FOREIGN KEY (participant_id) REFERENCES participants (id) ON DELETE CASCADE ON UPDATE CASCADE,
65 FOREIGN KEY (jeu_id) REFERENCES jeux (id) ON DELETE CASCADE ON UPDATE CASCADE
69 CREATE TABLE periodes (
71 nom varchar(200) NOT NULL,
72 nom_abrege varchar(20) NOT NULL DEFAULT '',
77 CREATE TABLE participations (
78 participant_id serial NOT NULL,
79 periode_id int NOT NULL,
80 PRIMARY KEY (participant_id, periode_id),
81 FOREIGN KEY (participant_id) REFERENCES participants (id) ON DELETE CASCADE ON UPDATE CASCADE,
82 FOREIGN KEY (periode_id) REFERENCES periodes (id) ON DELETE CASCADE ON UPDATE CASCADE
87 function initialiser_db()
89 pg_query("INSERT INTO config (nom, valeur) VALUES ('version', 1)");
91 pg_query("INSERT INTO config (nom, valeur) VALUES ('cout_periode', '15')");
92 pg_query("INSERT INTO config (nom, valeur) VALUES ('cout_total', '40')");
93 pg_query("INSERT INTO config (nom, valeur) VALUES ('nb_max_participant', '25')");
94 pg_query("INSERT INTO config (nom, valeur) VALUES ('nb_votes_jeux', '3')");
95 pg_query("INSERT INTO config (nom, valeur) VALUES ('inscription_terminees', 'FALSE')");
96 pg_query("INSERT INTO config (nom, valeur) VALUES ('pizza_visible', 'FALSE')");
97 pg_query("INSERT INTO config (nom, valeur) VALUES ('pizza_peut_commander', 'TRUE')");
99 pg_query("INSERT INTO periodes (nom, nom_abrege) VALUES ('vendredi soir à samedi', 'v->s')");
100 pg_query("INSERT INTO periodes (nom, nom_abrege) VALUES ('samedi à dimanche', 's->d')");
101 pg_query("INSERT INTO periodes (nom, nom_abrege) VALUES ('dimanche à lundi', 'd->l')");
106 # si la table 'config' n'existe pas alors on suppose qu'aucune table n'existe
108 $res = @pg_fetch_object(pg_query("SELECT valeur FROM config WHERE nom = 'version'"));
109 if (pg_result_status($res) != PGSQL_TUPLES_OK
)
110 $version = $res->valeur
;
114 echo "Création de la base de donnée, version = 1\n";
122 # version 1 -> 2 (à utiliser pour une utilisation future)
129 pg_query("UPDATE config SET valeur = '2' WHERE nom = 'version'");