From 4361f09fbf6130dac25b6172011fb3219a4c8dd6 Mon Sep 17 00:00:00 2001 From: Ryuta Kamizono Date: Sat, 1 Jun 2019 05:47:45 +0900 Subject: [PATCH] Merge pull request #36373 from guigs/fix-table-comment-also-being-applied-to-the-primary-key-column Fix table comment also being applied to the primary key column --- activerecord/CHANGELOG.md | 4 ++++ .../connection_adapters/abstract/schema_statements.rb | 2 +- activerecord/test/cases/comment_test.rb | 5 +++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/activerecord/CHANGELOG.md b/activerecord/CHANGELOG.md index 7d4d882bc132f..1b83021ff2607 100644 --- a/activerecord/CHANGELOG.md +++ b/activerecord/CHANGELOG.md @@ -1,3 +1,7 @@ +* Fix table comment also being applied to the primary key column. + + *Guilherme Goettems Schneider* + * Fix merging left_joins to maintain its own `join_type` context. Fixes #36103. diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb index d1b7e913f51ba..daa38b9a66e40 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb @@ -302,7 +302,7 @@ def create_table(table_name, **options) if pk.is_a?(Array) td.primary_keys pk else - td.primary_key pk, options.fetch(:id, :primary_key), options + td.primary_key pk, options.fetch(:id, :primary_key), options.except(:comment) end end diff --git a/activerecord/test/cases/comment_test.rb b/activerecord/test/cases/comment_test.rb index 584e03d196545..f2f28462d1ba1 100644 --- a/activerecord/test/cases/comment_test.rb +++ b/activerecord/test/cases/comment_test.rb @@ -44,6 +44,11 @@ class BlankComment < ActiveRecord::Base @connection.drop_table "blank_comments", if_exists: true end + def test_primary_key_comment + column = Commented.columns_hash["id"] + assert_nil column.comment + end + def test_column_created_in_block column = Commented.columns_hash["name"] assert_equal :string, column.type