Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Invité régulier
    Inscrit en
    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

  2. #2
    Modérateur
    Avatar de CinePhil
    Homme Profil pro Philippe Leménager
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    13 773
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe Leménager
    Âge : 51
    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 773
    Points : 22 995
    Points
    22 995

    Par défaut

    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 !

  3. #3
    Invité régulier
    Inscrit en
    juin 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : juin 2009
    Messages : 13
    Points : 5
    Points
    5

    Par défaut

    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)

  4. #4
    Modérateur
    Avatar de CinePhil
    Homme Profil pro Philippe Leménager
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    13 773
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe Leménager
    Âge : 51
    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 773
    Points : 22 995
    Points
    22 995

    Par défaut

    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 !

  5. #5
    Invité régulier
    Inscrit en
    juin 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : juin 2009
    Messages : 13
    Points : 5
    Points
    5

    Par défaut

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •