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