Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Outils
Outils Forum d'entraide sur les outils pour MySQL. Avant de poster -> Outils MySQL
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 21/11/2007, 22h12   #1
Invité de passage
 
Inscription : avril 2002
Messages : 14
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : avril 2002
Messages : 14
Points : 2
Points : 2
Envoyer un message via MSN à BerSerK Envoyer un message via Skype™ à BerSerK
Par défaut Mise à jour de la structure de bdd client

Bonjour à tous,

je travail sur un logiciel client-serveur, le client étant un système de réservation d'activités touristique et le serveur est Mysql 5.0.x.

Le logiciel est distribué via CD pour les nouvelles ventes et des mises à jour transmise par le web par la suite. Notre problème présentement est notre script de mise à jour de la structure de la base de données, des champs s'ajoute, des tables s'ajoute, des index aussi...et c'est une vrai galère de faire suivre les clients que nous avons déjà.

Je cherche une méthode pour comparer la structure d'une bdd à jour avec celle d'un client pour ensuite pouvoir mettre à jour le client.

Présentement je travail avec NSIS pour éxécuter des commandes ALTER, ADD dans mes mises à jour, j'aimerais continuer à utiliser ce logiciel mais je suis ouvert à tout!

Merci beaucoup!
BerSerK est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2007, 12h51   #2
Membre Expert
 
Avatar de Sivrît
 
Inscription : février 2006
Messages : 953
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2006
Messages : 953
Points : 1 189
Points : 1 189
Ma première idée serait d'ajouter une table (avec un unique enregistrement) contenant un numéro de version. Ca permettrait de déterminer quel(s) scripts de mise à jours appliquer sans avoir à faire de comparaison fine du schéma. Avec une collection de scripts pour chaque changement de version il est possible de les appliquer les uns après les autres.


Pour ce qui est des bases existantes...
Citation:
Envoyé par BerSerK Voir le message
Je cherche une méthode pour comparer la structure d'une bdd à jour avec celle d'un client pour ensuite pouvoir mettre à jour le client.
On parle bien de comparaison automatique pour réaliser les mises à jour nécessaires via le programme d'intallation ?

Pour l'ajout de table il y a "CREATE TABLE IF NOT EXISTS" qui marchera toujours.

Je ne sais pas ce que permet NSIS mais il semble autoriser le développement de plug-in donc d'une façon ou d'une autre il devrait être possible d'exécuter du SQL pour interroger la BDD (SHOW INDEXES/SHOW TABLES/SHOW COLUMNS) et agir en conséquence. Avec par exemple une liste d'éléments dont on veut vérifier la présence un bout de SQL à exécuter si la condition est remplie.
Voire... créer une procédure stoquée et l'appeler. Elle pourrait faire des tests sur le schéma et réaliser les ALTER nécessaires. Resterait à la supprimer à la fin.
Ou encore utiliser un outil comme http://scriptella.javaforge.com/ ?

En espérant avoir fait avancer le schmilblique.
Sivrît est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2007, 14h09   #3
Invité de passage
 
Inscription : avril 2002
Messages : 14
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : avril 2002
Messages : 14
Points : 2
Points : 2
Envoyer un message via MSN à BerSerK Envoyer un message via Skype™ à BerSerK
merci beaucoup de ta réponse, je vais testé ca.

je donne des nouvelles dès que nous aurons choisi une méthode.
BerSerK est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h17.


 
 
 
 
Partenaires

Hébergement Web