マイグレーションファイルの生成
説明
マイグレーションファイル(テーブル定義の作成・変更するファイル)を生成
特徴
- 必ず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