Labyrinth of Wisdom

-This is My Archive-


マイグレーションファイルとは?/モデルの基本

Railsを勉強していると、最初の内はチュートリアル等の言われるがままに作業して中の動きが分からないまま・・・なんてことが多いと思います。筆者も分からないまま作業を進めていることが多くて悩んでいます。。
今回はモデルにおける簡単な内部の動きが少し分かったので、基本的なコマンドと一緒に記載しておきます。

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

まずモデルを作成する上で、マイグレーションファイルという名称が聞き慣れない言葉で頭に中々入って来ずに苦労しました。

モデルを作る際に同時に作成されるスクリプトファイルなのですが、このマイグレーションファイルを使うことでSQL文を直接書かずにデータべースにテーブルを作成・変更することができます。

つまりデータベースの種類(MySQL,PostgreSQL...)に左右されなくて済みます。(もっと言えばSQLが分からなくてもある程度大丈夫。)

f:id:Labyrinth_of_Wisdom:20160223155351p:plain

また、テーブルの作成・変更をする毎にマイグレーションファイルが作成されるので、そのファイルを使用してマイグレーションファイル実行前の状態にも戻せます。

モデルとテーブル

頻繁に使うと思われるモデルとテーブルの操作方法について記載していきます。

rails g model モデル名 カラム名:データ型

例:
rails g model user name:string age:integer gender:integer
rake db:migrate
rails destroy model モデル名

例:
rails destroy model user
rake db:rollback

シードデータ

開発されたアプリの、データベースにおける初期状態のレコードを扱うファイルのことで、このファイルに記載したものが初期レコードになります。

f:id:Labyrinth_of_Wisdom:20160223144633p:plain

  • シードデータの書き込み

    /db/seeds.rbに初期化用のデータ(シードデータ)を記述します。

例:
User.create!(name: "田中太郎", age: 28, gender: 0)
  • シードデータの投入

    コマンドラインで下記コマンドを入力すると、先ほど記述したシードデータがデータべースに投入されます。

rake db:seed
  • シードデータのリセット

    コマンドラインで下記コマンドを入力すると、ファイルの記述内容でデータベースがリセットされる。
    開発途中でデータベースを消したり増やしたりしても、これを使えば初期状態までデータベースを戻すことができます。

rake db:reset

とりあえず今回はここまで。今後も追記予定です。

以上

参考 ruby-rails.hatenadiary.com