【发布时间】:2010-01-08 00:19:55
【问题描述】:
我正在编写一个测试框架,我需要在其中捕获 MySQL 数据库状态(表结构、内容等)。
我需要这个来检查在某些操作后状态没有改变。 (自动增量值可能可以改变,但我想我可以处理这个。)
转储最好采用人类可读的格式(最好是 SQL 代码,如 mysqldump 那样)。
我希望将我的测试框架限制为仅使用 MySQL 连接。要捕获状态,它应该不调用 mysqldump 或访问文件系统(如复制 *.frm 文件或执行 SELECT INTO 文件,但管道很好)。
由于这将是仅测试代码,因此我不关心性能。不过,我确实需要可靠的行为。
实现我需要的功能的最佳方式是什么?
我想我的代码应该基于一些现有的开源备份工具...哪个是最好看的?
更新:我没有指定我写这个的语言(不,那不是 PHP),因为我认为我不能按原样重用代码 - 我的情况是相当特殊(出于实际目的,让我们假设 MySQL C API)。代码将在 Linux 上运行。
【问题讨论】:
-
什么语言?框架?平台?
-
它不应该访问文件系统。这太模棱两可和宽泛了,你真的,真的无法绕过它。我想你的意思可能是它不应该使用任何命令行命令,这是真的吗?
-
我更新了关于语言和文件系统的问题。