Rails 2.0・その19(migrationカラム指定が簡単に)
migration ファイルが db/migrate ディレクトリの下に作成されたり、自分で作成したりします。
そのファイル中でのカラムの書き方がとても楽になりました。
例えば、books テーブルのカラムが title, first_name(20文字まで), last_name(20文字まで), price, created_at, updated_at だったとしたら、↓のように書くことができます。
[Rails2.0]
timestamps っていう一行で、created_at カラムと update_at カラムの2つのカラムが作成される、というのが注意点というか特筆点でしょうか。
以前は以下のような書き方でした。
[Rails1.2.3]
この t.[型名] の所に指定できる型名は以下のようです。
さらに t.[型名] の後にオプションもハッシュ型で追加できます。
特に、precision や scale については DB 間の差が激しいので、公式マニュアルでもご覧になって、ご自分に合った返済プランをご計画ください。
【広告】
そのファイル中でのカラムの書き方がとても楽になりました。
例えば、books テーブルのカラムが title, first_name(20文字まで), last_name(20文字まで), price, created_at, updated_at だったとしたら、↓のように書くことができます。
[Rails2.0]
create_table :books do |t|
t.string :title
t.string :first_name, :last_name, :limit => 20
t.integer :price
t.timestamps
end
timestamps っていう一行で、created_at カラムと update_at カラムの2つのカラムが作成される、というのが注意点というか特筆点でしょうか。
以前は以下のような書き方でした。
[Rails1.2.3]
create_table :books do |t|
t.column "title", :string
t.column "first_name", :string, :limit => 20
t.column "last_name", :string, :limit => 20
t.column "price", :integer
t.column "created_at", :datetime
t.column "updated_at", :datetime
end
この t.[型名] の所に指定できる型名は以下のようです。
primary_key
string
text
integer
float
decimal
datetime
timestamp
time
date
binary
boolean
さらに t.[型名] の後にオプションもハッシュ型で追加できます。
:limit
→カラムの長さ
:default
→デフォルト値
:null
→null値を許すかどうか
:precision
→数字が全部で何桁か
:scale
→小数点以下何桁か
特に、precision や scale については DB 間の差が激しいので、公式マニュアルでもご覧になって、ご自分に合った返済プランをご計画ください。
【広告】