テーブル設計(20日目)
[tech expert]通い始めてそろそろ3週間が経ちますが、渋谷の街はホントに不思議な街です。
朝早く渋谷校に向かう時は、殺風景で寂しさを感じる街並みですが、夜帰宅する時はたくさんの人で賑わっております。
僕が今日作成し始めたチャットアプリケーションは、完全に朝の渋谷状態。w
まずは、アプリケーションの実装で必要不可欠と思われるテーブル設計に取りかかりました。
テーブル名:user、groups など
カラム名:name、text、user_id など
型:string、integer、referenceなど
option: null:false 、add_index など
そんでアソシエーション has_many、belongs_to など
特に、中間テーブルを作成した時のAssociationの組み方は独特なのでおぼえといた方がいいです!
例) user.rb has_many :groups, through: :group_users has_many :group_users gorups_users.rb(中間テーブル) belongs_to :user belongs_to :group gorups.rb has_many :users, through: :group_users has_many :group_users
これで多対多の関係を解消できるようです!
最終的にはこんな感じ ↓
その大枠とも言える要素を最初に設計した上で、アプリケーションを作成してくのが基本なんですね(゚∀゚)
これをGithubをとおしてスタッフからレビューをいただくのですが、これがもぅ
一生忘れないくらい学ばせていただきました。w
テーブル設計の概要もいい記事見つけたので貼っときます。↓ http://techblog.lclco.com/entry/2018/02/09/093000
こちらの記事も大変勉強になりますので参考にしてください!
明日は画面実装だ!
おしまい