Open oratake opened 5 months ago
こんな感じでどうでしょうか
カラム名 | column_name | 型や制約 |
---|---|---|
uuid | id | id |
代表者 姓 | last_name | string |
代表者 名 | first_name | string |
代表者 せい | last_name_kana | string |
代表者 めい | first_name_kana | string |
連絡用メールアドレス | 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
その他懸念点や指摘事項などあればお願いいたします。
姓名の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などで考えておくと良いかと思います。
コメントいただいた内容で修正しています。
あと、モデルで範囲指定〜については、Zulipでも書いたとおりコントローラでの間違いでした…🙇
カラム名 | 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 |
連絡用メールアドレス | nullable, unique, varchar | |
郵便番号 | postcode | varchar |
住所 | address | varchar |
代表者 電話番号 | family_head_phone_number | nullable, varchar |
備考 | note | nullable, text |
登録したお坊さんuserのid | bouzu_id | 外部キー制約でusersテーブルのidカラムに紐づける |
代表者電話番号については...たぶん家電があるケースが多いと思うので、電話番号 phone_number でよいかなと思います。 この辺は開発というより仕様がふわふわしている方の責任なので、一旦はこのカラムで進めてみる、でよさそうです 👍 条件がまた変わった際にはスキーマ変更としたいです 🙏
承知しました。 ではこのカラムでマイグレーションファイル作ってみます!
カラム名 | 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 |
連絡用メールアドレス | nullable, unique, varchar | |
郵便番号 | postcode | varchar |
住所 | address | varchar |
電話番号 | phone_number | nullable, varchar |
備考 | note | nullable, text |
登録したお坊さんuserのid | bouzu_id | 外部キー制約でusersテーブルのidカラムに紐づける |
カラム名 | 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 |
連絡用メールアドレス | nullable, unique, varchar | |
郵便番号 | postcode | nullable, varchar |
住所 | address | nullable, varchar |
電話番号 | phone_number | nullable, varchar |
備考 | note | nullable, text |
登録したお坊さんuserのid | bouzu_id | 外部キー制約でusersテーブルのidカラムに紐づける |
概要
お坊さんが檀家さんを登録する画面の作成
必要な画面
檀家情報(DBスキーマ参考) ←DBスキーマ案をissueにコメント
注意点
お坊さんが複数いる前提なので、ほかのお坊さんの檀家さんが見えてはいけない。 ログインしているお坊さんの檀家さんのみ表示できているか、も確認したい
関連PR
15
19
20
23
25
31