0

在我设计阶段的早期,我犯了重命名表然后使用旧名称创建新表的错误。出于某种原因,MySQL Workbench 决定很好地记住这个事实。现在,每次我尝试与数据库同步时,MySQL Workbench 都希望将(新)表重命名为其旧名称。

我这样做了:

  1. 重命名 my_table => my_new_table
  2. 创建名为“my_table”的新表

现在 MySQL Workbench 坚持这将是正确的方法:

  1. 重命名 my_new_table => my_table
  2. 删除 my_new_table

这显然是一个错误,但是 MySQL Workbench 如何跟踪它对随机数据库的表所做的事情?是否有一些我可以清除的元数据让 MySQL Workbench 相信这种变化已经发生并且不需要重复?显然,Workbench 所做的不仅仅是模型和现有数据库之间的差异......

(我意识到我可以忽略同步过程中的特定步骤,但我不想每次同步时都这样做,当然对这两个特定表的任何更改都不会执行......)

4

2 回答 2

1

通过使用“仅跳过数据库更改和更新模型”运行一次同步来设法解决该问题。不清楚是否有一些不同步的模式,但至少现在有新的变化继续存在。

于 2013-04-10T15:20:24.210 回答
0

重命名一个对象并创建一个具有相同名称的新对象是一种特殊情况,这使得同步过程非常困难。原因是 Workbench 使用名称来查找对象(因为没有其他识别机制,如 UUID 或类似的)。因此需要执行额外的步骤来查找这种重命名情况。Workbench 明确保留旧名称,以便找到要同步的内容。

于 2013-04-11T06:59:30.570 回答