move to MooseX::Declare
[dbsrgits/SQL-Translator-2.0-ish.git] / lib / SQL / Translator / Parser / DBI / PostgreSQL.pm
CommitLineData
4f4fd192 1use MooseX::Declare;
2role SQL::Translator::Parser::DBI::PostgreSQL {
3 use MooseX::Types::Moose qw(HashRef Str);
4 use SQL::Translator::Types qw(View);
5
6 has '+schema_name' => (
7 isa => Str,
8 lazy => 1,
9 default => 'public'
10 );
11
12 method _get_view_sql(View $view) {
13 my ($sql) = $self->dbh->selectrow_array("SELECT pg_get_viewdef('$view'::regclass)");
14 return $sql;
15 }
16
17 method _is_auto_increment(HashRef $column_info) {
18 return $column_info->{COLUMN_DEF} && $column_info->{COLUMN_DEF} =~ /^nextval\(/ ? 1 : 0;
19 }
20
21 method _column_default_value(HashRef $column_info) {
22 my $default_value = $column_info->{COLUMN_DEF};
23
24 if (defined $default_value) {
25 $default_value =~ s/::.*$//
26 }
27 return $default_value;
641ce7d8 28 }
641ce7d8 29}