Ruby
Rails
migration
RubyOnRails
Rails4

マイグレーションファイルの役割と生成

More than 1 year has passed since last update.


環境


  • IDE:Cloud9

  • Ruby:ruby 2.0.0p648

  • Rails:Rails 4.0.5


マイグレーションファイルとは?

マイグレーションファイルは、データベースを生成する際の設計図になる。マイグレーションファイルを実行することにより、その内容に基づいたデータテーブルを生成してくれる。実際にどのような記述があるのか確認していく。


マイグレーションファイルの生成

マイグレーションファイルを生成するコマンドは以下となる。


migrationファイルの生成

rails g migration マイグレーション名


モデルと一緒に生成するには以下のコマンドとなる


モデルと一緒に生成

rails generate model モデル名 カラム名:型 カラム名:型 ....


基本的にはモデルと一緒に生成し、必要に応じてマイグレーションファイルのみ追加生成といった使い方か?


マイグレーションファイルの中身

実際にrails generate modelでマイグレーションファイルを生成し、その中身を見ていく。今回はよくあるUserモデルを生成することにする。


UserModel

rails generate model User name:string age:integer



[年月日時分秒日付]_create_users

class CreateUsers < ActiveRecord::Migration

def change
create_table :users do |t|
t.string :name
t.integer :age

t.timestamps
end
end
end


マイグレーションファイルの名前のは、頭に年月日時分秒日付が付き、複数形になる。

マイグレーションファイルの中身を作り終えたら、以下のコマンドで適用させなければならない。


マイグレーションファイルを適用

rake db:migrate


一度マイグレーションファイルを使用してテーブルを作ってしまうと、あとから同じマイグレーションファイルを変更しても反映されなくなるので注意が必要である。


課題

マイグレーションファイルの生成と中身の確認を行った。今後は実際にどのように編集をしていけばいいのか、モデルファイルとの関係性の確認などを勉強していきたい。


参考

http://maeharin.hatenablog.com/entry/20130212/rails_generate

https://qiita.com/zaru/items/cde2c46b6126867a1a64