From 10ef65a3b054270ed3d458ec8eb7c2b9a3e638f7 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 29 Apr 2008 16:52:52 -0500 Subject: Fixed that change_column should be able to use :null => true on a field that formerly had false [Nate Wiger] [#26 state:resolved] --- .../connection_adapters/abstract/schema_statements.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'activerecord/lib/active_record/connection_adapters/abstract') 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 c986f0c6f1..86216b6083 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb @@ -297,7 +297,14 @@ module ActiveRecord def add_column_options!(sql, options) #:nodoc: sql << " DEFAULT #{quote(options[:default], options[:column])}" if options_include_default?(options) - sql << " NOT NULL" if options[:null] == false + # must explcitly check for :null to allow change_column to work on migrations + if options.has_key? :null + if options[:null] == false + sql << " NOT NULL" + else + sql << " NULL" + end + end end # SELECT DISTINCT clause for a given set of columns and a given ORDER BY clause. -- cgit v1.2.3