how to get list of Active record fields in database order ?

If rec is an active record object and you call rec.attribute_names, it
gives you the field names in alphabetical order.
If there is a way to get the order that the fields where created into
the dabatase on the create_table sql call, I would find that very
useful. It seems like there is supposed to be a columns(), and
column_names() methods, but I am not seeing them and wondering if they
maybe disappeared in rails 3 ?

I wrote this for now, a terrible hack

  def get_order
    str = self.inspect
    ar = str.split(',')
    ar[0] = ar[0].gsub(/^\S*/,'')
    ar[ar.length - 1] = ar.last.chop
    puts 'ar'
    p ar
    ar2 = ar.map{|el| el.split(":")[0].strip}
    puts 'ar2'
    p ar2
    del_idxs = []
    ar2.each_with_index do |el,idx|
      if !self.attribute_names.include?(el)
        del_idxs << idx
      end
    end
    puts 'del idx'
    puts "\n\n\n"
    del_idxs.each{|i| ar2.delete_at(i)}
    ar2
  end

Jedrin wrote in post #1016808:

If rec is an active record object and you call rec.attribute_names, it
gives you the field names in alphabetical order.
If there is a way to get the order that the fields where created into
the dabatase on the create_table sql call, I would find that very
useful.

How?

column_names is the one you’re looking for, it is a class method, so you should use it like Model.column_names