Précédent   Forum du club des développeurs et IT Pro > 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
 
Outils de la discussion
Publicité
'
Vieux 20/10/2011, 11h26   #1
confus
Invité régulier
 
Inscription : juin 2009
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 13
Points : 5
Points : 5
Par défaut Comment organiser le versionning mysql

Bonjour,

Je travail actuellement sur un projet php/mysql avec un ami.

Pour l'instant on fonctionne de cette manière:
Un dépot GIT pour le php
Une base de données commune pour éviter de se retrouver avec plusieurs versions.

Le problème est qu'on voudrait mettre une version en ligne. On va donc copier la base et créer un nouveau dépot git qui sera lié au premier.

Le probleme étant qu'à l'avenir on ne pourra plus faire de copie de la base car celle en ligne contiendra des informations plus récente que la version de travail.

On pense faire un fichier du type maj.sql ou l'on mettra l'ensemble des modifications de table mais c'est assez lourd comme fonctionnement et on risque de perdre quelque modif en route et ainsi faire planter la version en ligne.

J'ai beau chercher je ne trouve pas de solution. Connaissez-vous un système de versioning de type svn ou git pour les bases de données? Sinon, avez vous des astuces pour régler le problème?

Merci d'avance
confus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2011, 11h34   #2
CinePhil
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 13 659
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 49
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 13 659
Points : 25 562
Points : 25 562
Envoyer un message via MSN à CinePhil
Ce qui me semble important dans le "versionning" d'une BDD est d'enregistrer les différentes versions de la structure de la BDD. Les données de production changent par définition potentiellement tous les jours et il s'agit plutôt de les sauvegarder que de les versionner.

S'il s'agit effectivement de maîtriser les diférentes versions de la structure de la BDD alors le fichier SQL de création des tables, vues, procédures... sans les données, est le meilleur moyen.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2011, 17h08   #3
confus
Invité régulier
 
Inscription : juin 2009
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 13
Points : 5
Points : 5
Bonjour CinePhil,
Merci pour ta réponse.

En effet le "versionning" ne concerne que la structure des tables et non les donnés.
En fait je sauvegarde régulièrement le fichier de création des tables mais mon soucis est que ce fichier ne me permet pas de faire évoluer la base en production.
Ce qui serait l'idéal mais je ne suis pas sûre que cela existe, se serait de pouvoir comparer mes deux fichiers de création de table (de la base en dev et de celle en prod) et d'avoir un fichier avec uniquement des requetes ALTER TABLE... CREATE TABLE si la table n'existe pas. Ainsi je n'aurait plus qu'à executer ce fichier sur la base de prod sans me soucier d'y réinsérer les données.

Une tel méthode ne me parait pas très complexe à développer mais je n'en ai pas trouvé. (si ca n'existe pas c'est peut être plus complexe que je ne le pense)
confus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2011, 23h51   #4
CinePhil
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 13 659
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 49
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 13 659
Points : 25 562
Points : 25 562
Envoyer un message via MSN à CinePhil
Tu peux peut-être essayer la connexion à la BDD avec MySQL Workbench qui est capable en principe de mettre à jour un schéma de données sur le serveur en fonction du schéma E/R que tu as dessiné dans le logiciel.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 11h07   #5
confus
Invité régulier
 
Inscription : juin 2009
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 13
Points : 5
Points : 5
Merci CinePhil,

Je n'avais pas pensé à WorkBench. Je n'ai jamais travaillé en collaboratif dessus mais si en effet il permet de refaire les schémas à partir d'une base existente il devrait permettre de merger les avancés sur la base.
confus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 05h55.


 
 
 
 
Partenaires

Hébergement Web