|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 10 ![]() |
Bonjour à tous.
Je cherche un moyen de générer automatique un patch différentiel entre deux bases de sonnées. Je m'explique : On a livré une première version du projet il y a 6 mois. En 6 mois le site a vécu et évolué : créations de comptes utilisateurs, rédactions d'articles, etc.. Entre temps on a développé un "lot 2" dans le quel on à modifié les tables, créée du contenu etc, ... Le processus de mise à jour envisagé est le suivant : 1 ) On fait deux copies de la base de prod. A et B 2 ) On applique des modifications sur la base B pour qu'elle corresponde au nouveau programme. (cette étape va prendre du temps ! Les modifications ne sont pas effectués directement sur la base mais par le programme..(donc, malheureusement, je ne peux pas faire mon ptit fichier patch à la mano)) 3 ) On génère le patch en ce basant sur les différences entre A et B 4 ) On applique le patch sur la base de prod (qui a eu le temps de vivre ces propres aventures entre temps) D'où ma question : Comment générer un patch qui permet de mettre à jour une base de données à partir de la différence entre deux bases ? J'espère avoir été claire... Si vous avez des questions ou besoin de plus d'information, n'hésitez pas à demander Merci par avance pour votre aide, Et bonne année à tous |
|
|
00
|
|
|
#2 |
![]() ![]() |
Je dirais que le mieux serait quand même de créer une procédure SQL et/ou un programme PHP qui transférera les données de l'anciennes structure de données vers la nouvelle.
Une fois la procédure crée, testée, débugguée, validée, tu arrêtes le site actuel, tu lances la procédure puis tu mets en ligne le nouveau site. Si tu veux faire ça sans arrêt du site actuel, tu auras toujours le risque qu'une donnée ne soit pas reprise.
__________________
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é de passage
![]() Inscription : janvier 2012 Messages : 10 ![]() |
Du coups j'imagine que cette "procédure SQL" il va falloir que je la code à la main.........
|
|
|
00
|
|
|
#4 |
![]() ![]() |
Ben oui ! Tu croyais que ton patch allait se créer tout seul ?
__________________
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é de passage
![]() Inscription : janvier 2012 Messages : 10 ![]() |
Ba pourquoi pas ....
Il existe peut être des outils pour le faire .... Mais pour le moment je n'en ai pas trouvé .... Actuellement je fait un export sql des deux tables que je veux comparer et j'utilise KDiff3 pour voir les différences entre les deux. |
|
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 10 ![]() |
Pour ceux que cela intéresse :
voici un code php qui permet de trouver les différences de contenu entre deux exports de base de données. J'ai fait mes exports avec phpMyAdmin et les paramètres suivant:
Code :
REPLACE INTO `nom_de_la_table` (`id`, `limitation_id`, `value`) VALUES(5865, 862, '78'); Code PHP :
|
||
|
|
10
|
Copyright © 2000-2012 - www.developpez.com