Index: vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb =================================================================== --- vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb (revision 9082) +++ vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb (working copy) @@ -281,7 +281,14 @@ 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.