aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
diff options
context:
space:
mode:
authorYves Senn <yves.senn@gmail.com>2014-09-17 11:09:31 +0200
committerYves Senn <yves.senn@gmail.com>2014-09-17 11:13:10 +0200
commitc1ab07cd9156a37a4f906f1d78849b116dbd841b (patch)
treef3e0afece88a60199d7d62f94341b5ab35826632 /activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
parentde33fe7d7e25945eeafcd8577438aba4721c804e (diff)
downloadrails-c1ab07cd9156a37a4f906f1d78849b116dbd841b.tar.gz
rails-c1ab07cd9156a37a4f906f1d78849b116dbd841b.tar.bz2
rails-c1ab07cd9156a37a4f906f1d78849b116dbd841b.zip
pg, correctly dump foreign keys targeting tables in a different schema.
Closes #16907. [Matthew Draper & Yves Senn]
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb b/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
index 767b6b614a..fda5bbad5c 100644
--- a/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
+++ b/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
@@ -466,7 +466,7 @@ module ActiveRecord
def foreign_keys(table_name)
fk_info = select_all <<-SQL.strip_heredoc
- SELECT t2.relname AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
+ SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
FROM pg_constraint c
JOIN pg_class t1 ON c.conrelid = t1.oid
JOIN pg_class t2 ON c.confrelid = t2.oid
@@ -488,6 +488,7 @@ module ActiveRecord
options[:on_delete] = extract_foreign_key_action(row['on_delete'])
options[:on_update] = extract_foreign_key_action(row['on_update'])
+
ForeignKeyDefinition.new(table_name, row['to_table'], options)
end
end