Hatena::ブログ(Diary)

soblueの日記

2009-07-28

[]create_tableで利用できるカラム追加メソッド 16:54

migrationファイル中、create_tableから渡されるブロック変数"t"に対して呼び出すことができるメソッドについてです。

def self.up
  create_table :people do |t|
    t.string :name
    t.integer :age
    t.timestamps
  end
end

変数"t"はTableDefinitionインスタンスで、t.stringなどと呼び出しているものは実際にはメソッドではなくcolumnメソッドの"short-hand definitions"とのこと。

どういう仕組みになっているのだろう。。。


使える型名

型名意味
string文字列
textテキスト
integer整数
float浮動小数点
decimal固定長整数
datetime日時
timestampタイムスタンプ
time時刻
date日付
binaryバイナリ
boolean真偽値

あと、これらの型名は、add_columnメソッドや「./script/generate scaffold」などの引数でも利用できます。

トラックバック - http://d.hatena.ne.jp/soblue/20090728/1248767691
リンク元
Connection: close