instance method
column_exists?
Ruby on Rails 4.0.13
Since v3.0.20Signature
column_exists?(table_name, column_name, type = nil, options = {})
Checks to see if a column exists in a given table.
# Check a column exists column_exists?(:suppliers, :name) # Check a column exists of a particular type column_exists?(:suppliers, :name, :string) # Check a column exists with a specific definition column_exists?(:suppliers, :name, :string, limit: 100) column_exists?(:suppliers, :name, :string, default: 'default') column_exists?(:suppliers, :name, :string, null: false) column_exists?(:suppliers, :tax, :decimal, precision: 8, scale: 2)
Parameters
-
table_namereq -
column_namereq -
typeopt = nil -
optionsopt = {}
Source
# File activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb, line 73
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.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
Defined in activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb line 73
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::ConnectionAdapters::SchemaStatements