columns
Returns an array of Column objects.
columns_hash
Similar to the columns method but returns a Hash using column names as keys and Column objects as values.
column_names
Returns a simple array of column names for the model.

The Column objects returned by columns and columns_hash can then be used to get information such as the data type and default values, for example:

User.columns_hash['email'].type
=> :string
User.columns_hash['email'].default
=> nil
User.columns_hash['email'].sql_type
=> "varchar(255)"