laravelでのデータベースの命名規則

php/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

と表します。