Pessoas,<div><br></div><div>Gostaria de usar o DBIx::Class::Schema::Loader para gerar um squema para um banco em que cada tabela está em um arquivo tipo CSV (o delimitador, no entando é \t )</div><div><br></div><div>No caso do DBD::CSV, existe uma particularidade que é eu defino as tabelas através de driver flags, ou seja, eu tenho de passar quais as tabelas no dsn...</div>
<div><br></div><div>Eu tentei o seguinte com o DBIx::Class ::Schema::Loader:</div><div><br></div><div><code></div><div><div>use DBIx::Class::Schema::Loader qw/ make_schema_at /;</div><div><br></div><div>make_schema_at(</div>
<div> 'SIATAB::Schema',</div><div> { debug => 1,</div><div> dump_directory => './lib',</div><div> },</div><div> [ 'dbi:CSV:f_dir=.;csv_sep_char=\t;csv_eol=\n;', '', '',</div>
<div> {</div><div> csv_tables => {</div><div> processo => { file => "allprocessos.tab" }</div><div> },</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> },</div>
<div> ],</div><div>);</div></div><div></code></div><div><br></div><div>e o resultado foi:</div><div><br></div><div><div>Donato-Vianas-MacBook-Pro:exportsia donatoaz$ perl <a href="http://loader.pl">loader.pl</a> </div>
<div>Undefined subroutine &DBIx::Class::Schema::catch called at /Library/Perl/5.10.0/DBIx/Class/Schema.pm line 830.</div></div><div><br></div><div>mais genérico impossível...</div><div><br></div><div>Alguma luz?</div>
<div><br></div><div>ps: eu consigo conectar usando pure DBI:</div><div><br></div><div><code_que_funfa></div><div><div>use DBI;</div><div><br></div><div>my $csvh = DBI->connect("DBI:CSV:f_dir=.;csv_sep_char=\t;csv_eol=\n;") or die($DBI::errstr);</div>
<div>$csvh->{'csv_tables'}->{'processo'} = { 'file' => 'allprocessos.tab' };</div><div><br></div><div>my $query = "SELECT * FROM processo";</div><div> my $sth = $csvh->prepare ($query);</div>
<div> $sth->execute ();</div><div> while (my $row = $sth->fetchrow_hashref) {</div><div> print "Found result row: id = ", $row->{codprocesso},</div><div> ", name = ", $row->{descprocesso}, "\n";</div>
<div> }</div><div>$sth->finish ();</div></div><div></code_que_funfa></div><div><br></div><div>Cheers!</div><div>-- <br>Donato Azevedo<br>
</div>