From 5266b6a1c71b27d6a1958bf3d5999bdcf4167a03 Mon Sep 17 00:00:00 2001 From: Ryuta Kamizono Date: Fri, 13 Nov 2020 20:00:25 +0900 Subject: [PATCH] Add test that primary_key and reference columns should be identical type for `add_reference` That test had existed for `t.references`, but I missed to add it for `add_reference` in #27334. https://github.com/rails/rails/blob/7813fc2c1fa9cc18c0a383ee1bc8ed47c613dbe8/activerecord/test/cases/base_test.rb#L145-L150 --- .../test/cases/migration/references_statements_test.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/activerecord/test/cases/migration/references_statements_test.rb b/activerecord/test/cases/migration/references_statements_test.rb index 451894fc54..f9fcd4433a 100644 --- a/activerecord/test/cases/migration/references_statements_test.rb +++ b/activerecord/test/cases/migration/references_statements_test.rb @@ -22,6 +22,13 @@ module ActiveRecord assert column_exists?(table_name, :user_id, :integer) end + def test_primary_key_and_references_columns_should_be_identical_type + add_reference table_name, :user + pk = connection.send(:column_for, :users, :id) + ref = connection.send(:column_for, table_name, :user_id) + assert_equal pk.sql_type, ref.sql_type + end + def test_does_not_create_reference_type_column add_reference table_name, :taggable assert_not column_exists?(table_name, :taggable_type, :string)