7

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

然后使用 Database -> Forward Engineer,我创建了一个数据库,并将数据插入到表中。

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

使用 Database -> Synchronize Model,Update Source 只会生成一堆 CREATE TABLE IF NOT EXISTS sql 语句,并且由于表存在,没有任何变化。

4

3 回答 3

8

您正在寻找的是模型菜单Database / Synchronize model

于 2012-07-13T11:38:20.480 回答
3

由于我无法开始File -> Export -> Forward Engineer SQL ALTER Script工作,所以我对数据进行了备份,删除了表,重新创建了它们,然后导入了数据。我宁愿找到一种方法让 MySQL Workbench 从我的模型中的更改中生成 ALTER 命令

于 2011-02-18T01:19:03.297 回答
0

2011 年的答案不再是最新的。我很难在最近的版本中找到该选项。这是新程序(至少适用于 MySQLWorkbench 6.2):

完成模型编辑后,打开Database -> Synchronize with Any Source

在这一步Select Source中,您有 3 个部分

  • 来源:选择Model Schemadata
  • 目的地:选择Live Database Server
  • 将更新发送到:选择是否应更新实时数据库,或者您是否只想将更改保存到.sql文件

Proceed in the wizard, you can then review the tables and sql queries that will be executed. You can also ignore the update of some tables.

于 2015-07-16T12:04:30.247 回答