fc2ブログ

2023.08 «  - - - - - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 » 2023.10
TOP > Rails 2.0・その19(migrationカラム指定が簡単に)

 ← Rails 2.0・その20(テーブル定義で belongs_to の関係を表すのも簡単に) | TOP | Rails 2.0・その18(デフォルトDBは sqlite3 そして商用DBはオプショナル)

Rails 2.0・その19(migrationカラム指定が簡単に) 

2008年03月11日 ()
migration ファイルが db/migrate ディレクトリの下に作成されたり、自分で作成したりします。

そのファイル中でのカラムの書き方がとても楽になりました。

例えば、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 間の差が激しいので、公式マニュアルでもご覧になって、ご自分に合った返済プランをご計画ください。


【広告】

[2008.03.11(Tue) 00:17] [2.0]DBTrackback(0) | Comments(0)
↑TOPへ

 ← Rails 2.0・その20(テーブル定義で belongs_to の関係を表すのも簡単に) | TOP | Rails 2.0・その18(デフォルトDBは sqlite3 そして商用DBはオプショナル)

COMMENT

COMMENT POST















管理者にだけ表示

 ← Rails 2.0・その20(テーブル定義で belongs_to の関係を表すのも簡単に) | TOP | Rails 2.0・その18(デフォルトDBは sqlite3 そして商用DBはオプショナル)