From a0b8b5d7da1b0543bf1816b81be6565fe802f513 Mon Sep 17 00:00:00 2001 From: Takuya Tsuchida Date: Tue, 17 Jan 2017 19:25:21 +0900 Subject: [PATCH] fixed for multiple primary key --- lib/Otogiri/Plugin/TableInfo/Pg.pm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/Otogiri/Plugin/TableInfo/Pg.pm b/lib/Otogiri/Plugin/TableInfo/Pg.pm index 736e205..98a54c2 100644 --- a/lib/Otogiri/Plugin/TableInfo/Pg.pm +++ b/lib/Otogiri/Plugin/TableInfo/Pg.pm @@ -117,10 +117,12 @@ sub _is_sequence_column { sub _build_pk_defs { my ($self, $table) = @_; - my $result = ""; - for my $column ( $table->primary_key() ) { - $result .= "ALTER TABLE ONLY " . $table->name . "\n"; - $result .= " ADD CONSTRAINT " . $column->{PG_COLUMN} . " PRIMARY KEY (" . $column->name . ");\n"; + my @pks = $table->primary_key(); + my $result = ''; + if ( @pks ) { + my @pk_names = map { $_->name } @pks; + $result = "ALTER TABLE ONLY " . $table->name . "\n"; + $result .= " ADD CONSTRAINT " . $pks[0]->{PG_COLUMN} . " PRIMARY KEY (" . join(', ', @pk_names) . ");\n"; } return $result; }