我可以使用什么软件自动化MySQL数据库中的差异数据?

时间:2012-04-16 22:24:31

标签: mysql sql liquibase

我非常了解并热爱liquibase模式迁移/模式差异,但最近我有一个奇怪的用例来支持 - 内容管理数据迁移。大多数非企业版本都倾向于将大量结构数据保存为SQL记录,因此使其成为PITA以保持这些设置同步。

所以我绝望地寻找的是一个可编写脚本,可配置的多平台(至少是Windows和Mac OS X)软件,它允许我区分两个共享一个共同模式的MySQL数据库的数据,这让我配置我想要差异的表(以及其他一些东西),并输出一个带有差异的SQL文件,以便我可以将其存入我的其他liquibase迁移文件。

是的,我知道有一些来自RedGate,DBSolo以及它们被称为的工具(我对此领域缺乏自由软件工具感到惊讶!),但它们似乎至少有两个缺点:它们不能自动化/编写脚本和/或不是多平台的。

TL; DR:有没有人知道MySQL的数据差异/程序,理想情况是Java,可以通过Ant或命令行编写脚本并输出SQL?

3 个答案:

答案 0 :(得分:2)

您可能想尝试SQL Workbench/J's WbDataDiff命令。

它可以在批处理模式下运行,因此可以通过命令行编写脚本。您甚至可以从Ant运行它,因为它是一个Java应用程序。

答案 1 :(得分:2)

Pt-table-sync是percona工具包套件的一部分。它完全用perl编写,并且具有可靠的文档。

答案 2 :(得分:0)

我知道您正在寻找差异工具,但也许您可能对提取和恢复数据子集感兴趣。