[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