Life & Style

ruby-on-rails-model

MVCモデルにおけるModelでは、データベースへのアクセスなどのデータ関連処理を行う。

Railsには標準のORマッパーとしてActiveRecordを使用できる。

ActiveRecordとORマッパーについて。

モデルクラスの作成

例として、ユーザーを管理するUserモデルを作成する。

ユーザーはカラムname、ageを持つ事とする。

モデルを作成するには「rails generate model」コマンドを使用する。

rails generate model user name:string age:integer

「rails generate model」に続けて、モデル名、データベースのテーブルの構造を書く。

モデル名は単数形、テーブルの構造は「カラム名:データ型」とし、スペースで区切る事で、続けて書く事ができる。

この時指定するデータ型は、使用するデータベース製品に依存しない。

Enterを押すと、ユーザーモデルと関連のファイルが作成され、db/migrateフォルダ以下にマイグレーションファイルが、app/models配下にモデルクラスを定義するファイルができる。

マイグレーションファイルによるテーブルの作成

「rails generate」コマンドを実行しただけではまだデータベースは作成されていない。

Railsではテーブルの作成や修正にマイグレーションという機能を利用する。

マイグレーションとは、データベースのテーブルの構造に変更を加える事を指す。

マイグレーションを利用する事でテーブルの保守作業を半自動化でき、テーブル定義の変更の際も簡単に反映できるのだ。

マイグレーションファイルの中身を見ると、usersというテーブルを作成しなさい。カラムはstring型のname、integer型のage。という指示が書かれている。

自動で入るtimestampとはレコードの作成日、編集日を管理するカラムを自動で生成するためのもの。

class CreateUsers < ActiveRecord::Migration[5.2]
  def change
    create_table :users do |t|
      t.string :name
      t.integer :age
      t.timestamps
    end
  end
end

マイグレーションを実行するには「rails db:migrate」コマンドを使用する。

実行済みのマイグレーションファイルはRailsが記憶しているため、「rails db:migrate」コマンドを複数回実行しても、同じファイルが実行される事はない。

PICK UP

  • コメント ( 0 )

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。