aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2017-05-19 13:28:30 +0900
committerRyuta Kamizono <kamipo@gmail.com>2017-05-19 13:28:30 +0900
commit1aad9f6b5b610a487f248268b464fbbd74c82531 (patch)
tree367141b958a89fb1986df881e9a3e8d6d406c979 /activerecord/test
parentb9b4fa9154e7c81ddb2bac4c5d53a9cb98c3351e (diff)
downloadrails-1aad9f6b5b610a487f248268b464fbbd74c82531.tar.gz
rails-1aad9f6b5b610a487f248268b464fbbd74c82531.tar.bz2
rails-1aad9f6b5b610a487f248268b464fbbd74c82531.zip
Both reference id and type should be `NOT NULL` if `null: false` is specified
This is a regression due to #28282. Fixes #29136.
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/migration/references_statements_test.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/activerecord/test/cases/migration/references_statements_test.rb b/activerecord/test/cases/migration/references_statements_test.rb
index 06c44c8c52..e9eb9968cb 100644
--- a/activerecord/test/cases/migration/references_statements_test.rb
+++ b/activerecord/test/cases/migration/references_statements_test.rb
@@ -50,6 +50,14 @@ module ActiveRecord
assert column_exists?(table_name, :taggable_type, :string, default: "Photo")
end
+ def test_creates_reference_type_column_with_not_null
+ connection.create_table table_name, force: true do |t|
+ t.references :taggable, null: false, polymorphic: true
+ end
+ assert column_exists?(table_name, :taggable_id, :integer, null: false)
+ assert column_exists?(table_name, :taggable_type, :string, null: false)
+ end
+
def test_does_not_share_options_with_reference_type_column
add_reference table_name, :taggable, type: :integer, limit: 2, polymorphic: true
assert column_exists?(table_name, :taggable_id, :integer, limit: 2)