question about create_table

Hi everyone,

I am a newb. I have one question about following code:

def self.up   create_table :order_histories do |t|     t.column :order_id, :integer, :null => false     t.column :created_at, :timestamp     t.column :notes, :text   end end

so, create_table is a method which takes the name of table (order_histories) and a code block. I wonder what's the data type of t?? where can I find it?

xiahong

I am a newb. I have one question about following code:

def self.up create_table :order_histories do |t|    t.column :order_id, :integer, :null => false    t.column :created_at, :timestamp    t.column :notes, :text end end

so, create_table is a method which takes the name of table (order_histories) and a code block. I wonder what's the data type of t?? where can I find it?

Couple of ways you could figure it out... the hack-ish way would be to add the following to your migration and then run it:

puts t.class

Or, look at the source for create_table in activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb

That says it's a TableDefinition object.

-philip

thx