2011-02-08 93 views
7

最初,我在MySQL Workbench中使用數據建模來設計一個由一系列表(即列和關係)組成的數據庫。修改數據庫以匹配模型

然後使用數據庫 - >正向工程師,我創建了一個數據庫,並將數據插入表中。

現在我已經意識到我設計的模型需要一些更改,所以我通過插入的列更改了一些表。我的問題是,我如何讓MySQL Workbench改變表格?

使用數據庫 - >同步模型,更新源只是生成一堆CREATE TABLE IF NOT EXISTS sql語句,並且隨着表的存在,沒有任何更改。

回答

3

由於我無法獲得File -> Export -> Forward Engineer SQL ALTER Script的工作,所以我做了數據的備份,刪除了表,重新創建它們,然後導入數據。我寧願找到一種方法讓MySQL Workbench根據我的模型中的更改生成ALTER命令。

+1

這似乎不再可用了 – 2013-04-28 22:31:09

8

您正在尋找的是模型菜單數據庫/同步模型

0

2011年的答案不再是最新的。我努力在最近的版本中找到選項。這裏是新的程序(適用於MySQLWorkbench 6.2至少):

當編輯完你的模型,開放Database -> Synchronize with Any Source

在步驟Select Source你有3個部分

  • 來源:選擇Model Schemadata
  • 目的地:選擇Live Database Server
  • 更新發送到:選擇實時數據庫是否應該被更新,或者如果你只是想將更改保存到一個.sql文件

繼續在嚮導中,那麼你可以查看錶和SQL查詢即會被執行。您也可以忽略某些表的更新。