Ruby on Railsのマイグレーションファイル(migration file)

プログラミング、サーバー、ネットワーク、IT用語、ハマったときのトラブルシューティングなど様々なIT関連の話題をひたすら書いていく技術ブログです。

2017年3月17日金曜日

Ruby on Railsのマイグレーションファイル(migration file)


Railsのマイグレーションファイル(migration file)はテーブルを作成する時に非常に便利です。下記のデータベースに対応しています。
・MySQL
・Oracle
・PostgreSQL
・SQLite
・SQL Server
・Sybase

Railsのマイグレーションファイルでよく使用するカラムのオプション

Railsのマイグレーションファイルのよく使うカラムオプションはまず下記のものを覚えるとよいでしょう。
オプション 解説 値の例
:default カラムのデフォルト値を設定する 0、"hoge"など
:null カラムにnullを許可するかどうか true, false
:limit カラムの桁数 1など
:unique カラムのユニーク制御 true, false

Railsのマイグレーションファイルでよく使用するカラムの型

Railsのマイグレーションファイルのよく使うカラムの型は下記のように表します。
データ型 解説
integer 整数
float 浮動小数
decimal (精度が高い)小数
string 文字列
text 長い文字列
timestamp 日時
datetime 日時
references 外部キー作成

マイグレーションファイルサンプル例



(bundle exec) rails g migration create_users
※環境によってはbundle execが必要です。

上記のコマンドでマイグレーションイファルができると思います。サンプル例ではfirst_nameとlast_nameは文字列(string)のカラムです。基本誰でもfirst_nameとlast_nameは持っているのでnull: false(または:null => false)の制御を付けています。middle_nameもfirst_nameやlast_nameと基本同じですが、ミドルネームはある人とない人がいるので、nullをfalseにはしない方がよいでしょう。referencesは外部キーを作成するカラムの型です。:photoはphotosテーブルのIDを参照するもので、photosテーブルのIDと連携します。一点気をつけたいことは、referencesにphoto_idのように_idなどを付けてはいけません。この場合photoとするべきです。add_indexはインデックスを貼るかどうかをtrueかfalseで決めます。timestampsはcreated_atとupdated_atを両方追加してくれます。

以上が基本的なところですが、色々やり方あったりメソッドがもあるので、続きはまた書こうと思います。

◯ Ruby on Railsのマイグレーションファイル関連の記事はこちら




最近の投稿