29
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

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

環境

  • 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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
29
Help us understand the problem. What are the problem?