最近フリマアプリを実装するにあたってエンティティの洗い出しとER図、readmeを書くのにめっちゃ時間かかったので復習。
結論からいうとER図はこんな感じになった。
フリマアプリのER図を書く時に一番困ったのは、中間テーブルの存在。
自分の浅い認識では中間テーブルというのは多対多のテーブルの関係の間にはさまってるイメージだったけど、今回は出品情報を一旦まとめるテーブルと、受け取り先をまとめるテーブルを作って、その間を取り持つような形になった。
ユーザー情報はdeviseをつかって。あとでバリデーションとか設けるときにメールアドレスとパスワードはdeviseの使用で勝手に記述されるので、二重記述にならないように注意。
で、テーブルの設計はこうなった。
ちなみに_idでついてるのはアクティブハッシュといって、プルダウン方式に設定するので、それができるようにカラム名を設定。
モデルはこんな感じに。多分冗長な記述とかある気がする。あとで単体テストするときにわかったけど、「パスワードに半角英数混合」とか「名字と名前の部分は全角で」っていう指示するのができてなくて、大変苦労した。
あとはファクトリーボットとフェイカーで仮のデータをつくって、正常系、異常系両方ともテストで問題なければ無事実装。という流れでした。
コンピュータって理屈っぽすぎる。けどそれが逆にたまらない。
以上、忘備録。