oratake / zenji-laravel

0 stars 0 forks source link

檀家さん登録画面 #10

Open oratake opened 5 months ago

oratake commented 5 months ago

概要

お坊さんが檀家さんを登録する画面の作成

必要な画面

檀家情報(DBスキーマ参考) ←DBスキーマ案をissueにコメント

注意点

お坊さんが複数いる前提なので、ほかのお坊さんの檀家さんが見えてはいけない。 ログインしているお坊さんの檀家さんのみ表示できているか、も確認したい

関連PR

Osatsu025 commented 5 months ago

DBスキーマ案

こんな感じでどうでしょうか

dankasテーブル

カラム名 column_name 型や制約
uuid id id
代表者 姓 last_name string
代表者 名 first_name string
代表者 せい last_name_kana string
代表者 めい first_name_kana string
連絡用メールアドレス email nullable, unique, string
郵便番号 postcode string, 最大7
住所 address string
代表者 電話番号 phone_number nullable, string, 最大11
備考 note nullable, string
登録したお坊さんuserのid user_id 外部キー制約でusersテーブルのidカラムに紐づける

カラム名参考

https://qiita.com/isao_e_dev/items/75e21709f2ff76a05b10

気になるところ

その他懸念点や指摘事項などあればお願いいたします。

oratake commented 5 months ago

姓名のcolumn_nameの前に代表者を意味する単語はいらない?

これ多分必要。family_head_first_nameとかかな

emailはusersテーブルのときはuniqueにしていたけど、ここでもするべきか

これに関しては一応あとで檀家さんのログインを分離したいと考えているので、一旦はunique入れておいてもらうと助かる

登録したお坊さんのidはuser_idでいいのか。お坊さんですよ感があった方がいいのか。

正直userって誰やねんはあるのでUserモデル自体あとで名前変えたい。これについてはゆくゆくでOKとおもっている。 BouzuModelとかbouzu_idとか。 基本的にModelまで見ないと何のことかわからんのは避けていきたいので、なるべくカラム名だけで判別がつくようにしておきたい。 MySQLとかでDB書いてるとよくテーブル名と合わせてみないと何のデータかわからんカラム名があるので。 あと自動で判別についてはコードベースで追えなくなってくるので、わりと明示的に書いてた方がコード補完的にも後々助かると思う。 ので、今回は明示的に書いておく、あとuser_idではなくbouzu_idなどわかりやすいものにしておく、で対応願います

郵便番号と電話番号については今のところ、DBレベルではマイグレーションファイルで最大字数だけ指定し、モデルで範囲指定する感じかな?と想定しています。

モデルで範囲指定、についてわからなかったのでzulipで聞きにいきます ✋

備考はstringで大丈夫か

念の為に長文あると仮定してtextにしておきましょう。 あと型や制約については、一旦DBはMySQLと想定してtextやvarcharなどで考えておくと良いかと思います。

Osatsu025 commented 5 months ago

修正

dankasテーブル

カラム名 column_name 型や制約
uuid id id
代表者 姓 family_head_last_name varchar
代表者 名 family_head_first_name varchar
代表者 せい family_head_last_name_kana varchar
代表者 めい family_head_first_name_kana varchar
連絡用メールアドレス email nullable, unique, varchar
郵便番号 postcode varchar
住所 address varchar
代表者 電話番号 family_head_phone_number nullable, varchar
備考 note nullable, text
登録したお坊さんuserのid bouzu_id 外部キー制約でusersテーブルのidカラムに紐づける
oratake commented 5 months ago

代表者電話番号については...たぶん家電があるケースが多いと思うので、電話番号 phone_number でよいかなと思います。 この辺は開発というより仕様がふわふわしている方の責任なので、一旦はこのカラムで進めてみる、でよさそうです 👍 条件がまた変わった際にはスキーマ変更としたいです 🙏

Osatsu025 commented 5 months ago

承知しました。 ではこのカラムでマイグレーションファイル作ってみます!

dankasテーブル

カラム名 column_name 型や制約
uuid id id
代表者 姓 family_head_last_name varchar
代表者 名 family_head_first_name varchar
代表者 せい family_head_last_name_kana varchar
代表者 めい family_head_first_name_kana varchar
連絡用メールアドレス email nullable, unique, varchar
郵便番号 postcode varchar
住所 address varchar
電話番号 phone_number nullable, varchar
備考 note nullable, text
登録したお坊さんuserのid bouzu_id 外部キー制約でusersテーブルのidカラムに紐づける
Osatsu025 commented 5 months ago

dankasテーブル

カラム名 column_name 型や制約
uuid id id
代表者 姓 family_head_last_name varchar
代表者 名 family_head_first_name varchar
代表者 せい family_head_last_name_kana varchar
代表者 めい family_head_first_name_kana varchar
連絡用メールアドレス email nullable, unique, varchar
郵便番号 postcode nullable, varchar
住所 address nullable, varchar
電話番号 phone_number nullable, varchar
備考 note nullable, text
登録したお坊さんuserのid bouzu_id 外部キー制約でusersテーブルのidカラムに紐づける