こんにちは。YOSHITAKA(@YOSHITA19704216)です。
Progateを行っている際に忘れていたので、簡単に整理しておきました。
- Railsのテーブル作成とモデル言葉の意味が分かります。
Contents
Railsのテーブルとモデルの意味。継承とは
マイグレーションファイル作成
マイグレーションファイルは、データベースに変更を指示するためのファイルです。
postsテーブルを作成するマイグレーションファイルは、「rails g model Post content:text」というコマンドで作成することができます。
$ rails g model Post content:text
↓ ↓ ↓ 分解すると
$ rails g model ⇒テーブル&モデルを作成
Post ⇒ posts(という名前の)テーブルを作成する。表記は、単数形にする。大文字にも注意。
content:text ⇒ カラム名:データ型
※「$ rails g model 」は 「$ rails generate model Post content:text」 でもOK
※カラム名は 表の縦列のことです。
※データ型は文字なのか、数字なのかで変わります。今回は文字を入力するデータ型を使ってます。(「text」は「長い文字列」を意味)
データベースに変更を反映する
データベースに変更を反映するコマンドは、「rails db:migrate」を入力、実行します。
コマンドを実行すると、db/migrateフォルダの下にマイグレーションファイルが自動生成されます。
そのため、データベースに値を追加したら必ず反映する癖をつけると良いでしょう。
モデルという特殊なクラスも同時に作成できている
テーブルを操作するためのモデルと呼ばれる特殊なクラスを用いて、データベースを使います。
「rails g model」コマンドによって、Postモデルが定義されたファイル「post.rb」が、app/modelsフォルダの中に作成されています。
end
※ Post < ApplicationRecord の右側が継承するクラスです。
ファイルの中には、ApplicationRecordクラスを継承するPostクラスが定義されています。
ApplicationRecordを継承したクラスを「モデル」と呼びます。
ここまでをまとめると・・・
一つのコマンド「rails g model Post …」のコマンドによって、2つのファイルが同時に作成されます。
- app/modelsフォルダにモデルが定義されたファイル
- db/migrateフォルダにマイグレーションファイル
まとめ
MVCモデルを考えて使うと混乱しますが、何度も行っていれば、徐々に理解できるようになります。
何度もプログラミング言語を学んでいきましょう。今回の記事は、参考程度に留めて下さい。