更改数据库以匹配模型

时间:2011-02-08 08:08:29

标签: mysql-workbench

最初,我在MySQL Workbench中使用数据建模来设计一个由一系列表(即列和关系)组成的数据库。

然后使用数据库 - >正向工程师,我创建了一个数据库,并将数据插入表中。

现在我意识到我设计的模型需要进行一些更改,因此我通过插入的列更改了一些表。我的问题是,如何让MySQL Workbench改变表?

使用数据库 - >同步模型,更新源只生成一堆CREATE TABLE IF NOT EXISTS sql语句,并且因为表存在,所以没有任何变化。

3 个答案:

答案 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查询。您也可以忽略某些表的更新。