如何在不使用命令行的情况下转储SQLite数据库的内容,但是在Perl代码中?

时间:2010-11-24 10:21:53

标签: perl sqlite dbi

对于回归测试,我需要将SQLite数据库的全部内容转储到文本文件中。但是所有对这种活动的引用只会导致使用sqlite可执行文件的指南。 Perl有没有办法在没有可执行文件的情况下执行此操作?

2 个答案:

答案 0 :(得分:2)

您可以使用标准DBI方法查询架构。 DBD :: SQLite手册页说:

  

另请参阅DBI文档   其他常用方法的细节。

     

table_info

 $sth = $dbh->table_info(undef, $schema, $table, $type, \%attr);
     

返回所有表和模式   (数据库),如   DBI中的“table_info”。架构和   表参数会做一个“喜欢”   搜索。您可以指定ESCAPE   通过包含'逃脱'的角色   \%attr中的属性。 $ type   参数接受逗号分隔   以下类型的列表
  'TABLE','VIEW','LOCAL TEMPORARY'和   'SYSTEM TABLE'(默认情况下都是   回)。请注意一个声明   句柄被退回,而不是直接的   表格列表。

答案 1 :(得分:0)

一种选择是从sqlite程序的源代码中窃取.dump实现。