in reply to Re^5: Using DBIx::Class::Schema::Loader to determine constraints
in thread Using DBIx::Class::Schema::Loader to determine constraints
I have just tried out what you wrote in your last post and I like the idea of doing it this way. To be more specific what I tried out was:
use strict; use warnings; use DBI; use SQL::Translator; my $dbh = DBI->connect( 'dbi:Pg:dbname=playground', 'postgres', '***** +**' ); my $translator = SQL::Translator->new( parser => 'DBI', parser_args => { dbh => $dbh, } ); $translator->translate(); my $schema = $translator->schema; for my $rsrc_name ( $schema->get_tables() ) { my $rsrc = $schema->get_table($rsrc_name); ... } ...
The Pg support indeed is not complete, I had tested with a table having a two-column primary key and the parse() method of SQL::Translator::Parser::DBI::PostgreSQL failed (currently it only works on one-column pkeys).
I have posted a bug report and a proposal for a patch on rt.cpan.org (see here). The bug was easy to fix. So one possibility would be to continue with my database-wise handling and the other to help out finding and maybe help fixing remaining bugs in the SQL::Translator::Parser::DBI::XXXXX modules.
|
|---|