[Rio-pm] Usando DBIx::Class::Schema::Loader com DBD::CSV
Stanislaw Pusep
creaktive em gmail.com
Quinta Junho 2 18:20:06 PDT 2011
Eu se que não é exatamente uma resposta, mas... s/DBD::CSV/DBD:SQLite/g,
ehehe!
O utilitário sqlite3 facilmente importa um TSV (tab-separated values), e daí
em diante você opera com SQL "convencional" (e extremamente eficiente).
ABS()
2011/6/2 Eden Cardim <edencardim em gmail.com>
> >>>>> "Donato" == Donato Azevedo <donatoaz em gmail.com> writes:
>
> Donato> Pessoas, Gostaria de usar o DBIx::Class::Schema::Loader para
> Donato> gerar um squema para um banco em que cada tabela está em um
> Donato> arquivo tipo CSV (o delimitador, no entando é \t )
>
> Donato> No caso do DBD::CSV, existe uma particularidade que é eu
> Donato> defino as tabelas através de driver flags, ou seja, eu tenho
> Donato> de passar quais as tabelas no dsn...
>
> Donato> Eu tentei o seguinte com o DBIx::Class ::Schema::Loader:
>
> Donato> <code>
> Donato> use DBIx::Class::Schema::Loader qw/ make_schema_at /;
>
> Donato> make_schema_at(
> Donato> 'SIATAB::Schema',
> Donato> { debug => 1,
> Donato> dump_directory => './lib',
> Donato> },
> Donato> [ 'dbi:CSV:f_dir=.;csv_sep_char=\t;csv_eol=\n;', '', '',
> Donato> {
> Donato> csv_tables => {
> Donato> processo => { file => "allprocessos.tab" }
> Donato> },
> Donato> },
> Donato> ],
> Donato> );
> Donato> </code>
>
> Donato> e o resultado foi:
>
> Donato> Donato-Vianas-MacBook-Pro:exportsia donatoaz$ perl
> Donato> loader.pl Undefined subroutine &DBIx::Class::Schema::catch
> Donato> called at /Library/Perl/5.10.0/DBIx/Class/Schema.pm line
> Donato> 830.
>
> Donato> mais genérico impossível...
>
> Donato> Alguma luz?
>
> O DBIx::Class não consegue inferir schema do DBD::CSV nem de qualquer
> descendente do DBD::File, por falta de suporte à API de metadados. No
> caso, é culpa do DBD::CSV e do formato de storage que você escolheu. De
> onde o DBIC vai ler as informações sobre o schema? Você vai ter que
> declarar o schema manualmente mesmo.
>
> --
> Eden Cardim Need help with your Catalyst or DBIx::Class project?
> Code Monkey http://www.shadowcat.co.uk/catalyst/
> Shadowcat Systems Ltd. Want a managed development or deployment platform?
> http://blog.edencardim.com/ http://www.shadowcat.co.uk/servers/
> http://twitter.com/#!/edenc
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20110602/f27e2145/attachment-0001.html>
Mais detalhes sobre a lista de discussão Rio-pm