J'ai besoin de fusionner deux bases de données mysql avec un schéma identique. Je suis à la recherche d'un outil capable de lire les métadonnées de base de données (PK, FK) et de générer automatiquement de nouvelles PK, mettant à jour automatiquement tous les FK.Comment puis-je fusionner deux bases de données mysql avec un schéma identique?
Répondre
Découvrez SqlYog - http://www.webyog.com/en/. Il y a un essai de 30 jours pour l'édition d'entreprise qui inclut un outil pour synchroniser les données entre les bases de données (parmi beaucoup d'autres outils utiles).
NOTE: Ils permettent seulement deux tables de base de données à la fois dans la version d'essai. –
Je ne sais pas exactement ce que vous voulez dire, mais si vous avez deux bases de données et que vous voulez les faire identifcal, essayez cet outil - Database compare
Il semble que ses bases de données sont déjà identiques, et il veut juste combiner les données en eux. –
pour chaque table:
insert into `target db`.`table`
(`all`,`clumns`,`except`,`pk`)
select (`all`,`clumns`,`except`,`pk`) form `source db`.`table`;
vous pouvez générer ce avec php ou même en sql ne pas oublier information_schema
. columns
select TABLE_NAME,COLUMN_NAME from `information_schema`.`COLUMNS` WHERE `COLUMN_KEY` <> 'PRI' AND TABLE_SCHEMA='source db'
maintenant vous avez tous les noms de colonnes sans
Jusqu'ici tout va bien, mais nous devrons aussi mettre à jour les FK –
de la pk Je dois aussi faire cela, sauf que je dois fusionner sur 6 bases de données MySQL avec le schéma identique, le maintien des relations clés étrangères. –
Je pense qu'une fois que nous avons un moyen de le faire pour deux bases de données, le faire pour 6 bases de données nécessitera simplement répéter le processus cinq fois –