Skip to content

Commit ac1d768

Browse files
authored
Merge pull request rails#52591 from fatkodima/fix-create_table-with-auto_increment
Fix `create_table` with `:auto_increment` option for MySQL adapter
2 parents abc4538 + a95817f commit ac1d768

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

activerecord/lib/active_record/connection_adapters/mysql/schema_statements.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ def default_row_format
159159
end
160160

161161
def valid_primary_key_options
162-
super + [:unsigned]
162+
super + [:unsigned, :auto_increment]
163163
end
164164

165165
def create_table_definition(name, **options)

activerecord/test/cases/adapters/abstract_mysql_adapter/auto_increment_test.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,10 @@ def test_auto_increment_false_with_custom_primary_key
3939

4040
assert_not_predicate @connection.columns(:auto_increments).first, :auto_increment?
4141
end
42+
43+
def test_auto_increment_false_with_create_table
44+
@connection.create_table :auto_increments, auto_increment: false, force: :cascade
45+
46+
assert_not_predicate @connection.columns(:auto_increments).first, :auto_increment?
47+
end
4248
end

activerecord/test/cases/migration/invalid_options_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def invalid_create_table_option_exception_message(key)
3030
primary_keys = [":limit", ":default", ":precision"]
3131

3232
if current_adapter?(:Mysql2Adapter, :TrilogyAdapter)
33-
primary_keys.concat([":unsigned"])
33+
primary_keys.concat([":unsigned", ":auto_increment"])
3434
elsif current_adapter?(:SQLite3Adapter)
3535
table_keys.concat([":rename"])
3636
end

0 commit comments

Comments
 (0)