class ActiveRecord::ConnectionAdapters::Column
An abstract definition of a column in a table.
def ==(other)
def ==(other) other.is_a?(Column) && name == other.name && default == other.default && sql_type_metadata == other.sql_type_metadata && null == other.null && default_function == other.default_function && collation == other.collation && comment == other.comment end
def bigint?
def bigint? /\Abigint\b/.match?(sql_type) end
def deduplicated
def deduplicated @name = -name @sql_type_metadata = sql_type_metadata.deduplicate if sql_type_metadata @default = -default if default @default_function = -default_function if default_function @collation = -collation if collation @comment = -comment if comment super end
def encode_with(coder)
def encode_with(coder) coder["name"] = @name coder["sql_type_metadata"] = @sql_type_metadata coder["null"] = @null coder["default"] = @default coder["default_function"] = @default_function coder["collation"] = @collation coder["comment"] = @comment end
def has_default?
def has_default? !default.nil? || default_function end
def hash
def hash Column.hash ^ name.hash ^ name.encoding.hash ^ default.hash ^ sql_type_metadata.hash ^ null.hash ^ default_function.hash ^ collation.hash ^ comment.hash end
def human_name
===== Examples
Returns the human name of the column name.
def human_name Base.human_attribute_name(@name) end
def init_with(coder)
def init_with(coder) @name = coder["name"] @sql_type_metadata = coder["sql_type_metadata"] @null = coder["null"] @default = coder["default"] @default_function = coder["default_function"] @collation = coder["collation"] @comment = coder["comment"] end
def initialize(name, default, sql_type_metadata = nil, null = true, default_function = nil, collation: nil, comment: nil, **)
+sql_type_metadata+ is various information about the type of the column
+default+ is the type-casted default value, such as +new+ in sales_stage varchar(20) default 'new'.
+name+ is the column's name, such as supplier_id in supplier_id bigint.
Instantiates a new column in the table.
def initialize(name, default, sql_type_metadata = nil, null = true, default_function = nil, collation: nil, comment: nil, **) @name = name.freeze @sql_type_metadata = sql_type_metadata @null = null @default = default @default_function = default_function @collation = collation @comment = comment end
def virtual?
def virtual? false end