Railsでのモデルとマイグレーションについて
知っておきたい内容
テーブルはデータベース内に情報を収納する場所のことです
モデルはデータベースと情報をやりとしている担当しています。
マイグレーションはデータベース内に保管するための情報を具体的に何を入れるか記述したもの。例えるなら設計図や仕様書見たいなものです。
知っておきたい内容を例え話にすると
通販サイトで商品を買ったこと例にあげる
お客さんが通販サイトで物を買う。配達する人(モデル)がその情報をみてお客様に運搬する。買った物(マイグレーション)をお客様が自分の収納する棚(テーブル)に入れる。
モデルを作成するためには
コマンド
rails g model モデル名
モデル名はどんな情報にするかで名前がかわる。学校の生徒を管理するならstudent、ユーザーを管理するならuserという名前に変わる。
ファイルはどこにあるかというと
studentで作成した場合、app/models/student.rbで保管されています。
マイグレーションを作成する
モデルを作成する時にマイグレーションファイルが作成されています。
ファイルがどこにあるかというと
db/migrate/作成した日付_create_students.rbで保管されています。
マイグレーションファイルの情報が反映されて、テーブル作成・変更ができます。
class CreatePosts < ActiveRecord::Migration[6.0]
def change
create_table :students do |t|
t.string :student_name
t.timestamps
end
end
end
t.string :student_nameのようにt.に続くのがカラムの型でその右にあるシンボルでカラムの名前です。カラムの型にはそのカラム名に対してどんな情報なのか指定することができます。
カラムの型の種類
string : 文字列
text : 長い文字列
integer : 整数
float : 浮動小数
decimal : 精度の高い小数
datetime : 日時
timestamp : タイムスタンプ
time : 時間
date : 日付
binary : バイナリデータ
boolean : Boolean
マイグレーションに記述した内容を、データベースに適用することをマイグレートと呼びます。
コマンドは
rails db:migrate
マイグレーションを実行し、データベースにテーブルが追加されています