2

我正在尝试将 SVN 与 Toad for MySQL 一起使用,以使两台开发机器上的两个数据库保持同步。当我在一台机器上修改表时,Toad 会更改相应的脚本并将它们检查得很好。

在另一台机器上,当我在特定表上尝试“更新数据库”或“更新模式”甚至“获取最新”时,我得到一个显示表已更改的窗口,但是当我单击“确定”时,我得到一个空脚本窗口显示-- no changes detected(并且“确定”按钮被禁用)。当我尝试手动更改表时,Toad 说它与 SVN 不匹配并希望我更新它,但这只是将我带到第一个窗口。而且由于第一个窗口无法成功关闭(只能取消),我什至无法编辑表格。

有没有人有过这个?我究竟做错了什么?

补充:另一个问题:我在其中一台机器上添加了一个新表。当我尝试更新另一个时,我得到MySQL Database Error: Table 'my.table' doesn't exist.

补充2:好的,看来问题是蟾蜍有问题。这是我发现的其他东西:即使我只使用一台机器来修改数据库,它仍然对我说我必须更新表或 SVN,因为它们是不同的(但是它们不能不同,我唯一的改变已完成是从这台机器上完成的,他们已签入)。如果我尝试从 SVN 更新,我会得到相同的死胡同。如果我更新到 SVN,那么使用 TortoiseSVN 检查变更集会发现一个重大变化:

Before: ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 After: ) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8;

这应该是不言自明的。它没有解释“表不存在”,但我怀疑这只是另一个错误。好消息 - Toad 的人已经知道它并表示他们将在下一个版本中修复它。

4

2 回答 2

0

听起来您的一台机器可以很好地使用存储库来跟踪数据库更改,但另一台机器在使用您的存储库时遇到问题。听起来您的问题机器可能有:

  • 不同的或损坏的 svn 客户端。
  • 不同的或损坏的蟾蜍客户端。
  • 不同或损坏的 mysql 客户端。
  • 损坏的工作副本。

我会验证安装/版本,备份您的工作副本/数据库,然后从存储库中重新签出。

于 2009-12-14T18:23:42.743 回答
0

如果这是 Toad 中的错误,您可以使用另一个 SVN 客户端来管理结帐。使用 Toad 进行签入,但是当您签出时,退出 Toad,然后当您重新启动时,Toad 应该会读取最新版本的文件。

这不是很好,我知道,但你至少可以继续工作。

于 2009-12-15T11:32:23.637 回答