method
columns
v4.2.1 -
Show latest stable
- Class:
ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter
columns(table_name)public
Returns an array of Column objects for the table specified by table_name.
# File activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb, line 449
def columns(table_name)#:nodoc:
sql = "SHOW FULL FIELDS FROM #{quote_table_name(table_name)}"
execute_and_free(sql, 'SCHEMA') do |result|
each_hash(result).map do |field|
field_name = set_field_encoding(field[:Field])
sql_type = field[:Type]
cast_type = lookup_cast_type(sql_type)
new_column(field_name, field[:Default], cast_type, sql_type, field[:Null] == "YES", field[:Collation], field[:Extra])
end
end
end Related methods
- Instance methods
- _quote
- add_index
- begin_db_transaction
- begin_isolated_db_transaction
- bulk_change_table
- case_insensitive_comparison
- case_sensitive_comparison
- case_sensitive_modifier
- change_column
- change_column_default
- change_column_null
- charset
- clear_cache!
- collation
- columns
- commit_db_transaction
- create_database
- create_table
- current_database
- disable_referential_integrity
- drop_database
- drop_table
- each_hash
- empty_insert_statement_value
- error_number
- exec_rollback_db_transaction
- execute
- execute_and_free
- foreign_keys
- index_algorithms
- indexes
- join_to_update
- native_database_types
- new_column
- pk_and_sequence_for
- primary_key
- quote_column_name
- quote_table_name
- quoted_false
- quoted_true
- recreate_database
- rename_column
- rename_index
- rename_table
- schema_creation
- show_variable
- strict_mode?
- supports_bulk_alter?
- supports_foreign_keys?
- supports_index_sort_order?
- supports_indexes_in_create?
- supports_migrations?
- supports_primary_key?
- supports_transaction_isolation?
- supports_views?
- table_exists?
- tables
- truncate
- type_to_sql
- unquoted_false
- unquoted_true
- update_sql
- valid_type?
- Class methods
- emulate_booleans
- new
- Protected methods
-
add_column_sql -
add_index_length -
add_index_sql -
add_timestamps_sql -
change_column_sql -
initialize_type_map -
quoted_columns_for_index -
register_integer_type -
remove_column_sql -
remove_columns_sql -
remove_index_sql -
remove_timestamps_sql -
rename_column_sql -
subquery_for -
translate_exception - Private methods
-
configure_connection -
extract_foreign_key_action -
mariadb? -
supports_rename_index? -
version