LoginSignup
1
0

More than 1 year has passed since last update.

[rails初心者]Schema(スキーマ)のまとめ ※自分用

Last updated at Posted at 2022-09-11

初めに

Schemaについてまとめてみました。

※自分用でまとめてますので、分かり辛かったらすいません。

 また理解不足・誤りがあったらコメント頂けますと幸いです。m(__)m<ヨロシクオネガイシマス

前提条件

すでにBookモデルが作成されていること

※じゃあモデルを作成していないとだめなのか?と思った方・・・実はそうでもないんです!!
 schemaファイルはデフォルトであるファイルになるので、モデルを作成していなくてもファイルは存在します
 ただ何も書かれていない状態になります(;^ω^)

主なやること

特になし

ご自身で確認したい人は・・・ ①モデルの作成(rails g model 任意のモデル名)&migrateファイルの編集(任意のカラムを一つか二つ作ってみて下さい)
 →忘れずに「rails db:migrate」
②Schemaファイルを開く(任意のアプリ名/db/schema.rb)

Schemaとは

「スキーマファイル → データベース上に作ったテーブル・カラムを簡易的に表示したファイル」とのことでした( ..)φメモメモ
参考資料:Active Record マイグレーション - Rails ガイド

テーブル&カラムとは何ぞや?と思った人 ①テーブル→あるデータの集合体
②カラム→テーブルの縦1列(更に?になった人は後で分かりやすい画像がありますので、そちらを参照してください)

schemaファイルを見てみよう

では早速、確認作業に入っていきます。
ここでは本の情報(bookモデル)を見ていきます。

bookers2(任意のアプリ名)/db/schema.rb
  create_table "books", force: :cascade do |t|
    t.integer "user_id"
    t.string "title"
    t.text "body"
    t.datetime "created_at", precision: 6, null: false
    t.datetime "updated_at", precision: 6, null: false
  end

・create_table "テーブル名" → ""内にテーブル名が表示されます
・integer → カラムのデータ型(integerは整数が入ります)
・t.integer"カラム名" → ""内にカラム名が表示されます

これじゃあ分かり辛い方もいると思うので、次に分かりやすく表を作ってみました(/・ω・)/

表にしてみると・・・

こんな感じです。
カラムやテーブルの説明文を読んでもイマイチ分からなかった方は、これだとイメージ出来るんじゃないですか?
因みに僕もそうでした(´▽`)
テーブルとカラム3.png

ポイント①IDは主キー:何番目の本なのかを識別する番号(migrateファイルで指定しなくても作成されます)
ポイント②user_idには整数が入っていること(因みにtitleとbodyは文字が入るようにしています)

まとめ

schemaファイルは、DBに保存しているテーブルとカラムをまとめたファイルである

余談ですが・・・ schemaってどんなときに使うの??と思った方
 ・DBに何のカラムやテーブルが保存しているのか確認したい時(特にアソシエーションを作成するとき)
 ・新機能を入れる時(例えば検索機能やフォローフォロワー機能など外部参照キーが必要になる処理を作る時)
 ※あくまで私個人の意見に過ぎないので、他に使い時がある場合はぜひコメントで教えてください!!
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0