マイグレーションファイルの生成
説明
マイグレーションファイル(テーブル定義の作成・変更するファイル)を生成
特徴
- 必ずupメソッドとdownメソッドを含めなければならない
- self.upがmigrationのバージョンがあがるときに実行
- self.downがmigrationのバージョンがあがるときに実行
- クラス名をすべて小文字にしたものが、ファイル名アンダースコア(_)以降と一致する必要がある
使い方
$ rails generate migration 名前 [カラム名:型[:index]..] [オプション]
オプション
| オプション | 説明 | デフォルト値 |
|---|---|---|
| –skip-namespace | namespaceの生成をスキップ | |
| –skip-collision-check | コリジョンチェックをスキップ | |
| –timestamps | timestampsファイルを生成するか | true |
| –primary-key-type=PRIMARY_KEY_TYPE | 主キーのタイプ | |
| -d, –database=DATABASE | データベースの種類 | sqlite3 |
| -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
カラムを指定して生成
$ rails generate migration AddTitleToPage title:string