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」コマンドを複数回実行しても、同じファイルが実行される事はない。
コメント ( 0 )
トラックバックは利用できません。
この記事へのコメントはありません。