diff options
author | Anton <anton.estum@gmail.com> | 2015-01-24 00:20:18 +0300 |
---|---|---|
committer | Anton <anton.estum@gmail.com> | 2015-01-24 00:20:18 +0300 |
commit | 6298ac705da92cc793cbf40dd91484d34e01d255 (patch) | |
tree | 9c54922c6d64b89559d2c2cf42ab8074340a51ea /activerecord/test | |
parent | 2698e187578d29292eef3e1cb54338a3afd45a1f (diff) | |
download | rails-6298ac705da92cc793cbf40dd91484d34e01d255.tar.gz rails-6298ac705da92cc793cbf40dd91484d34e01d255.tar.bz2 rails-6298ac705da92cc793cbf40dd91484d34e01d255.zip |
Add `foreign_key_exists?` method.
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/migration/foreign_key_test.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/activerecord/test/cases/migration/foreign_key_test.rb b/activerecord/test/cases/migration/foreign_key_test.rb index 78d9dd90a3..8cf2ead661 100644 --- a/activerecord/test/cases/migration/foreign_key_test.rb +++ b/activerecord/test/cases/migration/foreign_key_test.rb @@ -145,6 +145,27 @@ module ActiveRecord fk = foreign_keys.first assert_equal :nullify, fk.on_update end + + def test_foreign_key_exists + @connection.add_foreign_key :astronauts, :rockets + + assert @connection.foreign_key_exists?(:astronauts, :rockets) + assert_not @connection.foreign_key_exists?(:astronauts, :stars) + end + + def test_foreign_key_exists_by_column + @connection.add_foreign_key :astronauts, :rockets, column: "rocket_id" + + assert @connection.foreign_key_exists?(:astronauts, column: "rocket_id") + assert_not @connection.foreign_key_exists?(:astronauts, column: "star_id") + end + + def test_foreign_key_exists_by_name + @connection.add_foreign_key :astronauts, :rockets, column: "rocket_id", name: "fancy_named_fk" + + assert @connection.foreign_key_exists?(:astronauts, name: "fancy_named_fk") + assert_not @connection.foreign_key_exists?(:astronauts, name: "other_fancy_named_fk") + end def test_remove_foreign_key_inferes_column @connection.add_foreign_key :astronauts, :rockets |