2013-04-10 122 views
0

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

我这样做:

  1. 重命名MY_TABLE => my_new_table
  2. 创建一个名为新表 'MY_TABLE'

现在MySQL工作台坚持这将是正确的前进方式:

  1. 重命名my_new_table => my_table
  2. 降my_new_table

这显然在自己的权利的一个bug,但MySQL工作台是如何保持跟踪它已与随机数据库中的表呢?是否有一些元数据可以让我明白,让MySQL Workbench相信这种改变已经发生并且不需要重复?显然工作台不仅仅是模型和现有数据库之间的差异...

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

回答

1

管理解决此问题通过运行同步一次“跳过数据库更改和仅更新模型”。不清楚模式中是否有位不同步,但现在至少有新的更改结束。

0

重命名对象并创建一个具有相同名称的新对象是一个特殊情况,这使得同步过程非常困难。原因是Workbench使用名称来查找对象(因为没有其他标识机制,如UUID或类似)。所以额外的步骤是为了找到这样的重命名情况。 Workbench明确地保留旧名称以找到同步方式。

相关问题