If you don't need a full ORM (and it looks like that's not the point for you) you probably just want SQL::Translator instead:
#!perl use strict; use warnings; use 5.010; use SQL::Translator; use Data::Dumper; use SQL::Translator::Parser::SQLite; my $data = do { local $/; open my $fh, '<', 'data.sql' or die "Can't read file: +$!\n"; <$fh> }; my $sqlt = SQL::Translator->new; SQL::Translator::Parser::SQLite::parse($sqlt, $data); my $schema = $sqlt->schema; print Dumper([ map { $_->name } $schema->get_table('s')->get_constrain +ts ]);
Gives me:
$VAR1 = [ 'fkey' ];
See SQL::Translator::Schema::Constraint for any other methods to call on the Constraint object. It's a bit convoluted to use like this; normally you'd use SQL::Translator to, as the name implies, translate your DDL from a format (e.g. SQLite-style SQL) into another (e.g. MySQL).
In reply to Re: Using DBIx::Class::Schema::Loader to determine constraints
by pokki
in thread Using DBIx::Class::Schema::Loader to determine constraints
by jds17
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |