4

我非常了解并喜欢用于模式迁移/模式差异的liquibase ,但最近我有一个奇怪的用例需要支持 - 内容管理数据迁移。大多数非企业数据倾向于将大量结构化数据保存为 SQL 记录,因此将其作为 PITA 来保持此类设置同步。

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

是的,我知道有来自 RedGate、DBSolo 以及它们的名称的此类工具(我对这个领域缺乏自由软件工具感到惊讶!),但它们似乎都至少有两个缺点:它们可以'不是自动化的/脚本化的和/或不是多平台的。

TL;DR:有谁知道 MySQL 的数据差异库/程序,最好是 Java,可以通过 Ant 或命令行编写脚本并输出 SQL?

4

3 回答 3

2

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

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

于 2012-04-16T22:31:06.623 回答
1

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

于 2012-04-17T05:03:30.807 回答
0

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

于 2012-04-16T23:27:15.310 回答