Commit | Line | Data |
cc73c25e |
1 | package SQL::Translator::Parser::DBI::PostgreSQL; |
abb2c327 |
2 | use namespace::autoclean; |
684763c1 |
3 | use Moose::Role; |
4 | use MooseX::Types::Moose qw(Str); |
b8657f04 |
5 | |
abb2c327 |
6 | has '+schema_name' => ( |
684763c1 |
7 | isa => Str, |
684763c1 |
8 | lazy => 1, |
9 | default => 'public' |
10 | ); |
11 | |
684763c1 |
12 | sub _get_view_sql { |
13 | my $self = shift; |
14 | my $view = shift; |
15 | |
16 | my ($sql) = $self->dbh->selectrow_array("SELECT pg_get_viewdef('$view'::regclass)"); |
17 | return $sql; |
18 | } |
cc73c25e |
19 | |
641ce7d8 |
20 | sub _is_auto_increment { |
21 | my $self = shift; |
22 | my $column_info = shift; |
23 | |
24 | return $column_info->{COLUMN_DEF} && $column_info->{COLUMN_DEF} =~ /^nextval\(/ ? 1 : 0; |
25 | } |
26 | |
27 | sub _column_default_value { |
28 | my $self = shift; |
29 | my $column_info = shift; |
30 | my $default_value = $column_info->{COLUMN_DEF}; |
31 | |
32 | if (defined $default_value) { |
33 | $default_value =~ s/::.*$// |
34 | } |
35 | return $default_value; |
36 | } |
37 | |
cc73c25e |
38 | 1; |