|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : juin 2009 Messages : 13 ![]() |
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 |
|
|
00
|
|
|
#2 |
![]() ![]() |
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. 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : juin 2009 Messages : 13 ![]() |
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) |
|
|
00
|
|
|
#4 |
![]() ![]() |
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. 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : juin 2009 Messages : 13 ![]() |
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. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com