diff options
author | Yves Senn <yves.senn@gmail.com> | 2014-09-17 11:09:31 +0200 |
---|---|---|
committer | Yves Senn <yves.senn@gmail.com> | 2014-09-17 11:13:10 +0200 |
commit | c1ab07cd9156a37a4f906f1d78849b116dbd841b (patch) | |
tree | f3e0afece88a60199d7d62f94341b5ab35826632 /activerecord/lib/active_record/connection_adapters | |
parent | de33fe7d7e25945eeafcd8577438aba4721c804e (diff) | |
download | rails-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')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb | 3 |
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 |