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/test/cases/adapters/postgresql | |
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/test/cases/adapters/postgresql')
-rw-r--r-- | activerecord/test/cases/adapters/postgresql/schema_test.rb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/activerecord/test/cases/adapters/postgresql/schema_test.rb b/activerecord/test/cases/adapters/postgresql/schema_test.rb index 9e5fd17dc4..6f40b0d2de 100644 --- a/activerecord/test/cases/adapters/postgresql/schema_test.rb +++ b/activerecord/test/cases/adapters/postgresql/schema_test.rb @@ -1,4 +1,5 @@ require "cases/helper" +require 'support/schema_dumping_helper' class SchemaTest < ActiveRecord::TestCase self.use_transactional_fixtures = false @@ -426,3 +427,28 @@ class SchemaTest < ActiveRecord::TestCase assert_equal this_index_name, this_index.name end end + +class SchemaForeignKeyTest < ActiveRecord::TestCase + include SchemaDumpingHelper + + setup do + @connection = ActiveRecord::Base.connection + end + + def test_dump_foreign_key_targeting_different_schema + @connection.create_schema "my_schema" + @connection.create_table "my_schema.trains" do |t| + t.string :name + end + @connection.create_table "wagons" do |t| + t.integer :train_id + end + @connection.add_foreign_key "wagons", "my_schema.trains", column: "train_id" + output = dump_table_schema "wagons" + assert_match %r{\s+add_foreign_key "wagons", "my_schema.trains", column: "train_id"$}, output + ensure + @connection.execute "DROP TABLE IF EXISTS wagons" + @connection.execute "DROP TABLE IF EXISTS my_schema.trains" + @connection.execute "DROP SCHEMA IF EXISTS my_schema" + end +end |