2011-09-19 100 views
2

好吧,我有两个数据库,第二个是第一个更新的版本。它有新的列,表格,约束和什么。如何比较/更新两个mySQL数据库的模式

我想知道是否有一个坚实的程序,将更新第一个数据库与所有的第二个已更新的数据库(不是数据,只是表,列和所有)或我坚持创建我的自己从头开始更新脚本?

+0

要澄清,你想更新模式而不触及数据?是对的吗?如果是这样,你可能想看看这个类似的问题:http://stackoverflow.com/questions/5721012/mysqldump-schema-only-schema-update-without-drop – mwan

+0

尝试使用mysqldump来获取架构,差异这两个,然后你只有一点工作来应用这些变化。我确信有这个商业产品,如果这就是你想要的。 –

回答

2

我确实发现了另外一篇文章,虽然看起来不一样,但仍然帮助了我,我找到了一个名为Toad for MySQL的程序,它有一个比较两个数据库的Schema选项,然后可以同步一个到另一个(它创建一个脚本并执行它)它似乎工作完美无瑕,但我仍在测试使用数据库的Web应用程序以确保这是真实的。

+0

http://www.toadformysql.com/index.jsp – VACIndustries

0

如果你正在寻找一个工具,将在架构层面比较,那么我会建议Navicat。我使用的旧版本很适合让我的生产和开发盒同步。虽然我不推荐用于大数据量的同步 - 与SQL转储和SQL导入相比,它似乎非常慢。

1

如果您使用的是Windows,展鹏SQL数据和模式比较工具是美丽的:

http://mysql-compare.com/info

我用他们几次。它们使用起来非常简单。

它们是围绕创建用于从dev/QA/staging环境迁移到集成/生产环境的DB差异而设计的(所以是的,它们会生成脚本)。

+2

我有一些应该流行的消息。这些工具已经免费提供给非商业用途。只需下载并通过电子邮件发送一个序列号。玩的开心! –