diff options
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb | 11 |
1 files changed, 8 insertions, 3 deletions
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 8891c10c7c..edb3042afc 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb @@ -273,10 +273,10 @@ module ActiveRecord column_type_sql << "(#{limit})" if limit column_type_sql end - end - + end + def add_column_options!(sql, options) #:nodoc: - sql << " DEFAULT #{quote(options[:default], options[:column])}" unless options[:default].nil? + sql << " DEFAULT #{quote(options[:default], options[:column])}" if options_include_default?(options) sql << " NOT NULL" if options[:null] == false end @@ -293,6 +293,11 @@ module ActiveRecord def add_order_by_for_association_limiting!(sql, options) sql << "ORDER BY #{options[:order]}" end + + protected + def options_include_default?(options) + options.include?(:default) && !(options[:null] == false && options[:default].nil?) + end end end end |