Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > Zend_Db
Zend_Db Forum d'entraide pour le composant Zend_Db du Zend Framework (création de requêtes, abstraction, ORM etc.). Avant de poster -> FAQ Zend_Db.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/06/2011, 10h40   #1
Membre à l'essai
 
Femme
Développeur Web Junior
Inscription : novembre 2009
Messages : 124
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur Web Junior

Informations forums :
Inscription : novembre 2009
Messages : 124
Points : 22
Points : 22
Par défaut automatisation de la création des tables sous phpmyadmin

Bonjour,

Je développe un module en zend Framework utilisant le SGBD MYSQL, ce module sera intégré à un cms développé par une autre équipe donc puisque ce module devrait être activé ou désactivé en fonction des besoins, j'aimerais faire une automatisation de la création des tables, donc le but est de ne pas créer les tables à la main à chaque fois que mon module sera activé.
Par contre, je ne sais pas vraiment comment m'y prendre. Pour l’instant, j'ai exporté les données, les scripts de création de ma base de données dans un fichier dump. Et je cherche un moyen de développer un script qui permette d'automatiser cette création.
Je viens vers vous pour me donner une piste à suivre.

Merci de votre aide.
nassing est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2011, 18h00   #2
Membre Expert
 
Homme Eric Dureuil
Développeur informatique
Inscription : avril 2011
Messages : 853
Détails du profil
Informations personnelles :
Nom : Homme Eric Dureuil
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 853
Points : 1 332
Points : 1 332
salut,

ça dépend où ce fait l'activation de ton module (fichier de config coté php ou valeur booléenne dans une table)...

si tout se passe coté mysql tu crées une procédure stockée qui fait les différents trucs lors de l'activation dans phpmyadmin ou en envoyant les instruction une par une si tu exécutes ça en pure php:
Code sql :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
USE ta_BD;
DROP procedure activation;
delimiter |
CREATE procedure activation()
begin
declare t,v bool DEFAULT 0;
SELECT count(id)>0,state INTO t,v FROM config WHERE module="nom_module";
IF NOT v then
IF t then
UPDATE config SET state=1 WHERE idmodule="nom_module";
else
INSERT INTO config(module,state)VALUES("nom_module",1);
end IF;
-- liste des create table pour ton module;
CREATE TABLE IF NOT EXISTS nom1(id int(4) NOT NULL AUTO_INCREMENT,PRIMARY KEY pk_nom1(id));
CREATE TABLE IF NOT EXISTS nom2(id int(4) NOT NULL AUTO_INCREMENT,PRIMARY KEY pk_nom2(id));
end IF;
end|
delimiter ;

je suppose ici que ta base s'appelle ta_BD et que tu as une table config(id,module,state), définissant les modules installés et que tu ne veux pas exploser les tables liées au module si elles existe déjà...

tu appelles activation comme ça dans ta classe php qui gère les accès mysql (msqli ou pdo par exemple)

à toi d'adapter ça à tes besoins, voilà une piste procédurale
__________________
Eric Dureuil, développeur web, c/c++, java indépendant
soyons
pensez à mettre et
ericd69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h32.


 
 
 
 
Partenaires

Hébergement Web