aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters
diff options
context:
space:
mode:
authorCarlos Antonio da Silva <carlosantoniodasilva@gmail.com>2012-06-30 12:02:26 -0700
committerCarlos Antonio da Silva <carlosantoniodasilva@gmail.com>2012-06-30 12:02:26 -0700
commit4d9be13a381948377678f12880a43341ea0571dc (patch)
treea6e1261da13928b4670b45959147b22e1d320a42 /activerecord/lib/active_record/connection_adapters
parent6b9d1a0db2f7829509689d244d6a5eda5210401d (diff)
parent59e23e2ff22c0deb770af768c4cc04bd1b2c2ad7 (diff)
downloadrails-4d9be13a381948377678f12880a43341ea0571dc.tar.gz
rails-4d9be13a381948377678f12880a43341ea0571dc.tar.bz2
rails-4d9be13a381948377678f12880a43341ea0571dc.zip
Merge pull request #6913 from lexmag/column_exists_options
Add :default and :null options to column_exists? method Examples: column_exists?(:testings, :taggable_id, :integer, null: false) column_exists?(:testings, :taggable_type, :string, default: 'Photo')
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb10
1 files changed, 6 insertions, 4 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 f5794a4e54..2b0ba2f479 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
@@ -68,10 +68,12 @@ module ActiveRecord
# column_exists?(:suppliers, :name, :string, :limit => 100)
def column_exists?(table_name, column_name, type = nil, options = {})
columns(table_name).any?{ |c| c.name == column_name.to_s &&
- (!type || c.type == type) &&
- (!options[:limit] || c.limit == options[:limit]) &&
- (!options[:precision] || c.precision == options[:precision]) &&
- (!options[:scale] || c.scale == options[:scale]) }
+ (!type || c.type == type) &&
+ (!options.key?(:limit) || c.limit == options[:limit]) &&
+ (!options.key?(:precision) || c.precision == options[:precision]) &&
+ (!options.key?(:scale) || c.scale == options[:scale]) &&
+ (!options.key?(:default) || c.default == options[:default]) &&
+ (!options.key?(:null) || c.null == options[:null]) }
end
# Creates a new table with the name +table_name+. +table_name+ may either