Gestion de la base de données¶
Prérequis¶
Vous devez au préalable récupérer le framework. Dans le répertoire www de votre serveur apache :
svn checkout https://scm.adullact.net/anonscm/svn/openmairie/openmairie_exemple/trunk openExemple
Si ce n’est pas fait vous devez egalement créer les répertoires suivant : Création des répertoires dédiés au stockage des données de l’applicatif.
Création de la base de données¶
Création de la base de données sous PostgreSQL¶
Il vous est proposé de créer la base de données sous PostgreSQL :
Créer les tables nécessaires au framework openMairie :
cd data/pgsql sudo su postgres dropdb openexemple && createdb openexemple && psql openexemple -f install.sql
Créer les tables nécessaires à notre exemple :
table courrier
courrier int 8 cle primaire dateenvoi date objetcourrier text lu boolean faux par défaut emetteur int8 cle secondaire service int8 cle secondaire
table emetteur
emetteur int 8 cle primaire nom varchar 20 prenom varchar 20
table service
service int 8 cle primaire libelle varchar 20
La requête correspondante en PostgreSQL est la suivante :
-- Selection du schéma SET search_path TO openexemple; -- Création des séquences CREATE SEQUENCE emetteur_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; CREATE SEQUENCE service_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; CREATE SEQUENCE courrier_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- Création des tables CREATE TABLE emetteur ( emetteur int PRIMARY KEY, -- clé primaire nom varchar(20), prenom varchar(20) ); CREATE TABLE service ( service int PRIMARY KEY, -- clé primaire libelle varchar(20) ); CREATE TABLE courrier ( courrier int PRIMARY KEY, -- clé primaire dateenvoi date, objetcourrier text, lu boolean DEFAULT FALSE, emetteur int REFERENCES emetteur, -- clé étrangère service int REFERENCES service -- clé étrangère );
Modifier le paramétrage openMairie pour faire un accès à la base créée :
dyn/database.inc.php
Voir le paragraphe “Paramétrage de la connexion à la base de données” pour plus de détails sur cette configuration.
Accéder avec votre navigateur sur openExemple :
login : admin
mot de passe : admin
Création de la base de données dans les fichiers de l’application¶
On va maintenant créer la base de données en utilisant des fichiers afin d’avoir toujours la même base à déployer.
Créer fichier init_metier.sql dans le répertoire data/pgsql et copier le code servant à créer les tables et les sequences dedans sans prendre la ligne « set search_path … ».
Copier le code suivant dans install.sql juste avant le COMMIT pour intégrer le nouveau fichier lors de l’initialisation de la base de données :
-- Instructions de base de l'applicatif
\i init_metier.sql
- Déclencher la création de la base de données comme vu précedemment : ::
- cd data/pgsql sudo su postgres dropdb openexemple && createdb openexemple && psql openexemple -f install.sql
Accéder avec votre navigateur sur openExemple :
login : admin
mot de passe : admin