laravelでのデータベースの命名規則
今回はlaravelを使用したデータベースの命名規則をまとめました。
テーブル名の規則
laravelの命名規則はスネークケース(区切りを_で区切る)と複数形になります。
テーブル名の例)
users
failed_jobs
ただし中間テーブル(多対多)の場合、単数形と単数形を_を区切ったテーブルになるので単数形になります。
カラム名の規則
カラム名は、スネークケースかつ単数形
カラム名の例)
video
video_url
カラム名の命名パターン
テーブル名に帰属するデータは接頭語は無しとする。
例)usersテーブルに下記のカラムがあった場合はuser情報に付属するデータとする。
name
email
tel
ただしusers情報のテーブルに違うでnameデータを入れる場合がある。例えば所属する会社の名前等その場合は接頭語を付けてカラム作成します。
company_name
company_email
company_tel
等
単数形と複数系が同じ名前をできれば避ける
上記のような単数形と複数形の形式があるのに、単数形と複数形が同じ名前の場合混乱の原因になりやすいので、単数形と複数形が同じ英語はできたら避けています。
新着情報のテーブルを作る時
例
× newsだと単数形と複数形が一緒
○ information
2値のカラム(カラムがboolean型の場合)
is_状態で記載をします。
これによりTrueの時の状態が分かりやすくなります。
例)
is_true
の場合は1がtrueで0がfalseと分かる。
boolean型で使うパターン
display | 表示・非表示 |
true | 真偽 |
publish | 公開・非公開 |
日付について
作成日・更新日・削除日についてはlaravel標準のat表記を使う
create_at | 作成日 |
update_at | 更新日 |
delete_at | 削除日 |
日付と日時で表示変更する。
下記はアンチパターン
live_start_date | 2020年10月1日公開 |
live_start_date_time | 2020年10月1日19:00公開等 |
上記もlaravelであればatやonを使って冗長化させないのが吉
日付であれば
日付を表す場合(例 2020年10月1日開始) | start_on |
時間まで表す場合(例 2020年10月1日19:00開始) | start_at |
と表します。