2011-10-22 66 views
1

以适应大批量系统中的测试我想有可能从许多表中导出全部处于“主 - 细节”关系中的数据,即它们通过外键连接。例如,我知道我可以通过DBUnit以编程方式执行此操作。 是否有任何框架/实用程序/工具,我可以定义表格关系(例如,表a是通过外键b.1和表c通过外键c.1主),然后给出条件主表(...其中a.attribute ='someCriteria')和该工具导出所有连接的数据,并让我将数据导入另一个数据库(因此我有一个源表的数据的一致的子集)。根据主表上的选择部分导出数据库表

任何提示表示赞赏。谢谢。

回答

0

如果你用它来浏览你的数据库的工具能够导出查询的结果,你只需要执行三次查询的结果是:

select c.* from C c inner join A a on c.aId = a.aId where a.attribute = '...'; 
select b.* from B b inner join A a on b.aId = a.aId where a.attribute = '...'; 
select a.* from A a where a.attribute = '...'; 
+0

好 - 如果我只有三张桌子,我(和你)可以做到这一点。但是有很多开发者(不是无条件地喜欢SQL),甚至在源系统中有更多的表。我希望能够一遍又一遍地做到这一点。 – Chris

1

你会使用Jailer,一个工具,它做的正是你需要什么。 它有一个GUI和一个命令行实用程序。

+0

它看起来很有希望解决我试图解决的问题。不能说这是正确的,因为我没有测试它(我改变了项目......)。但看来Jailer已不再维护,四年内没有发布。 – Chris