web-dev-qa-db-ja.com

MySQL Workbench-EER図を同期する方法

MySQL Workbenchを使用して既存のデータベースの視覚的表現を作成しており、「データベース->モデルの同期...」メニューでモデルを同期できます。ただし、モデルを同期(更新)するたびに、EER図を再作成してすべてのテーブルを再配置する必要があります。 EER図も更新または同期する方法はありますか?ありがとう。

39
Tiago Alves
  • データベース>モデルの同期...
  • 保存された接続を選択
  • スキーマを選択
  • 更新するものを選択します:モデルまたはソース(この場合、矢印をモデルに向けます)
59
Jeff B

たまたま、MyISAMなどの外部キーをサポートしないMySQL DBエンジンを使用していますか?したがって、テーブル間の関係はMySQLサーバーに保存されず、ワークベンチとの同期中に失われます。

しかし、これはあなたの質問の「なぜ」に過ぎないことを理解しています。外部キーをサポートするエンジンを使用せずに、配置を維持する答えを提供することはできません。 InnoDB。

2
ingkebil

この問題のバリアントがありました-どういうわけか、データベースからモデルを更新すると、テーブルの1つとそれに対応する更新可能なビューが更新されませんでした。

modelは実際には更新されていましたが、ダイアグラムではなかったと思います。最初は区別していませんでした。

とにかく、ここではE/R図を更新する方法を示します。

  1. 更新されていないオブジェクトをダイアグラムから削除します。 (右クリックして「削除」を選択するだけです。)
  2. 左側のサイドバーのカタログビューでオブジェクトを見つけます。
  3. それらをダイアグラムにドラッグして戻します。

これで、モデルを反映するはずです(上記の承認された回答に従っている場合は、DBを反映しているはずです)。

1
user41871

同期するテーブルが3つ以上あり、リレーションが変更され、矢印の方向が変更され(モデル<-ソース)、「DBの変更をスキップしてモデルのみを更新する」をチェックして実行...

「モデルとデータベースの同期の進行状況」window hang「Apply changes to Model」が強調表示されています。プロセッサーが動作せず、何も動きません...

ウィンドウのXをクリックして、プロセスをやり直します。 DBをクリックして(すべて)を無視し、更新するテーブルを少なく選択します。

v.5.2.44 ce rev 9933

編集:バージョン5.2.47このバグを修正!!!イェ!

1