最初,我在MySQL Workbench中使用数据建模来设计一个由一系列表(即列和关系)组成的数据库。
然后使用数据库 - >正向工程师,我创建了一个数据库,并将数据插入表中。
现在我意识到我设计的模型需要进行一些更改,因此我通过插入的列更改了一些表。我的问题是,如何让MySQL Workbench改变表?
使用数据库 - >同步模型,更新源只生成一堆CREATE TABLE IF NOT EXISTS sql语句,并且因为表存在,所以没有任何变化。
答案 0 :(得分:8)
您要找的是模型菜单数据库/同步模型。
答案 1 :(得分:3)
由于我无法使File -> Export -> Forward Engineer SQL ALTER Script
工作,所以我对数据进行了备份,删除了表,重新创建了它们,然后导入了数据。我宁愿找到一种让MySQL Workbench从模型中的变化生成ALTER命令的方法
答案 2 :(得分:0)
2011年答案不再是最新的。我努力在最近的版本中找到该选项。这是新程序(至少适用于MySQLWorkbench 6.2):
完成模型编辑后,请打开Database -> Synchronize with Any Source
在步骤Select Source
中,您有3个部分
Model Schemadata
Live Database Server
.sql
文件继续向导,您可以查看将要执行的表和SQL查询。您也可以忽略某些表的更新。