aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2016-09-22 21:22:14 +0900
committerJeremy Daer <jeremydaer@gmail.com>2017-02-26 00:23:04 -0700
commitc92757fb68f5a281be0f2ea67e369672e9c4ec6d (patch)
tree0578c7ffc24acfc43a3161dec82722cbadb51574 /activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
parent31d27d5301c79c351c69b91d64e32a64b0f2b0fb (diff)
downloadrails-c92757fb68f5a281be0f2ea67e369672e9c4ec6d.tar.gz
rails-c92757fb68f5a281be0f2ea67e369672e9c4ec6d.tar.bz2
rails-c92757fb68f5a281be0f2ea67e369672e9c4ec6d.zip
Fix `change_column` to drop default with `null: false`
Currently `change_column` cannot drop default if `null: false` is specified at the same time. This change fixes the issue. ```ruby # cannot drop default change_column "tests", "contributor", :boolean, default: nil, null: false # we need the following workaround currently change_column "tests", "contributor", :boolean, null: false change_column "tests", "contributor", :boolean, default: nil ``` Closes #26582
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
index 5f86a11c2d..f14ac92cf9 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
@@ -786,11 +786,11 @@ module ActiveRecord
def change_column_sql(table_name, column_name, type, options = {})
column = column_for(table_name, column_name)
- unless options_include_default?(options)
+ unless options.key?(:default)
options[:default] = column.default
end
- unless options.has_key?(:null)
+ unless options.key?(:null)
options[:null] = column.null
end