web-dev-qa-db-fra.com

MySQL Workbench - Comment synchroniser le diagramme EER

Je crée une représentation visuelle de ma base de données existante avec MySQL Workbench et je suis capable de synchroniser les modèles avec le menu "Base de données -> Synchroniser le modèle ...". Cependant, chaque fois que je synchronise (met à jour) mon modèle, je dois recréer le diagramme EER et réorganiser toutes les tables. Existe-t-il également un moyen de mettre à jour ou de synchroniser le diagramme EER? Merci.

39
Tiago Alves
  • Base de données> Synchroniser le modèle ...
  • Choisissez une connexion stockée
  • Sélectionnez les schémas
  • Choisissez celui à mettre à jour: Modèle ou Source (dans votre cas, pointez les flèches sur Modèle)
59
Jeff B

Utilisez-vous par hasard un moteur de base de données MySQL qui ne prend pas en charge les clés étrangères (par exemple MyISAM?)? Par conséquent, les relations entre les tables ne sont pas enregistrées sur le serveur MySQL et se perdent lors de la synchronisation avec le plan de travail.

Mais je me rends compte que ce n'est que le "pourquoi" de votre question. Je ne peux pas fournir une réponse qui préserverait votre arrangement sans utiliser un moteur qui prend en charge les clés étrangères, par exemple InnoDB.

2
ingkebil

J'avais une variante de ce problème - d'une manière ou d'une autre lorsque je mettais à jour le modèle à partir de la base de données, une de mes tables et sa vue pouvant être mise à jour correspondante ne se mettaient pas à jour.

Je crois que ce qui se passait, c'est que le modèle était en train de se mettre à jour, mais pas le diagramme. Je n'ai pas vraiment fait la distinction au début.

Quoi qu'il en soit, voici comment obtenir le rafraîchissement sur le diagramme E/R:

  1. Supprimez les objets non mis à jour du diagramme. (Faites un clic droit et choisissez "Supprimer".)
  2. Recherchez les objets dans la vue du catalogue dans la barre latérale gauche.
  3. Faites-les glisser de nouveau sur le diagramme.

Maintenant, ils devraient refléter le modèle (qui devrait refléter la BD si vous avez suivi la réponse acceptée ci-dessus.)

1
user41871

Lorsque j'ai plus de 3 tables à synchroniser, avec des changements sur les relations, je change la direction de la flèche (modèle <- source), je coche "Ignorer les modifications de la base de données et mettre à jour le modèle uniquement" et Exécuter ...

"Progression de la synchronisation du modèle et de la base de données" blocage de la fenêtre avec "Appliquer les modifications au modèle" en surbrillance. Aucun processeur ne fonctionne, rien ne bouge ...

Je clique sur le X de la fenêtre et recommence le processus. Cliquer sur la base de données, ignorer (tout) et sélectionner moins de tables à mettre à jour.

v.5.2.44 ce rev 9933

EDIT: la version 5.2.47 corrige ce bug !!! Yé!

1
François Breton