マイグレーションファイルの生成
説明
マイグレーションファイル(テーブル定義の作成・変更するファイル)を生成
特徴
- 必ずupメソッドとdownメソッドを含めなければならない
- self.upがmigrationのバージョンがあがるときに実行
- self.downがmigrationのバージョンがあがるときに実行
- クラス名をすべて小文字にしたものが、ファイル名アンダースコア(_)以降と一致する必要がある
使い方
$ rails generate migration 名前 [カラム名:型] [オプション]
オプション
オプション | 説明 | デフォルト値 |
---|---|---|
–skip-namespace | 名前空間をスキップする | |
–old-style-hash | 古いハッシュの形式を使う | |
-o, -orm=名前 | 使用するO/Rマッパーを指定 | active_record |
-f, –force | ファイルが存在する場合に上書きする | |
-q, –quiet | 進捗状況を表示しない | |
-p, –pretend | ドライラン | |
-s, –skip | 既に存在するファイルについてはスキップ | |
-h, –help | ヘルプを表示 |
カラムの型
データ方 | 説明 |
---|---|
string | 文字列 |
text | 長い文字列 |
integer | 整数 |
float | 浮動小数 |
decimal | 精度の高い小数 |
datetime | 日時 |
timestamp | より細かい日時 |
time | 時間 |
date | 日付 |
binary | バイナリデータ |
boolean | Boolean型 |
作成されるファイルの基本構成
class マイグレーション名s < ActiveRecord::Migration
def up
end
def down
end
end
例
基本形(オプションなし)
$ rails generate migration Page
invoke active_record
create db/migrate/20120421134507_page.rb
カラムを指定して生成
$ rails generate migration AddTitleToPage title:string
invoke active_record
create db/migrate/20120421134409_add_title_to_page.rb