Mysql

MySQL Workbench,如何刷新 EER 圖?

  • December 11, 2020

我正在使用 MySQL Workbench 來設計我的 MySQL 數據庫,並對實體的外觀以及它們之間的關係進行建模。現在,有時我使用 Doctrine ORM。在使用 Doctrine ORM 時,我創建了屬於域對象的類/對象,並且可以持久化到數據庫中。通過 DocBlock Annotations,我可以表達如何將實體相互關聯。

使用 MySQL Workbench,我可以查看一個 EER 圖,它向我展示了對象之間的關係,並且通過查看符號我可以清楚地看到關係。這種方法的問題是我需要使用 Doctrine CLI 生成數據庫模式。然後在 MySQL Workbench 中,我必須從現有數據庫創建 EER 模型。問題是我對數據庫模式進行了很多更改,並且要查看 MySQL Workbench 中的關係,我必須每次都創建一個 EER 模型。這很耗時。

有沒有辦法從現有數據庫中載入 EER 圖,然後,當數據庫模式發生變化時,只需刷新並查看更改,這樣我就不必為每一個小變化生成 EER 圖?

我過去用過 Navicat,你可以在那裡做。當數據庫發生變化時,只需按 F5,ER 圖中的關係就會立即發生變化。Navicat 的唯一問題是表之間沒有顯示它們關係的符號。只有行。

是否有可能在 MySQL Workbench 中具有該功能?如果沒有,是否有其他工具可以讓我看到 ER 圖,並且在我更改數據庫模式後立即刷新圖表?

從 MySQL Workbench 5.2 視窗中,選擇 Database -> Synchronize model,這將允許您將模型(EER 圖)與數據庫(您需要創建一個保存的連接)同步。

我推薦這種方法,而不是僅僅從數據庫中對模型進行逆向工程,因為它維護了 EER 圖的佈局。一個警告是您需要手動將新表添加到 EER 圖中。

‘Database’ -> ‘Synchronize’ 需要注意的一件事是它預設將圖表更改應用於實時數據庫,即它建議的語句如下:

如果存在則刪除表h2Import_Homol

如果您只是將 EER 工具用於輸出圖表,請小心更改此預設行為,否則如果模型中不存在您的活動表(附加列或任何其他模式更改也將如此),它們將被刪除。

http://dev.mysql.com/doc/workbench/en/wb-database-synchronization.html

引用自:https://dba.stackexchange.com/questions/25900