24ブロ

私が未経験からプログラミングを学んだ物語

テーブル設計(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

これで多対多の関係を解消できるようです!

最終的にはこんな感じ ↓

f:id:qwe-ima-poi:20180925235330p:plain

その大枠とも言える要素を最初に設計した上で、アプリケーションを作成してくのが基本なんですね(゚∀゚)

これをGithubをとおしてスタッフからレビューをいただくのですが、これがもぅ

一生忘れないくらい学ばせていただきました。w

テーブル設計の概要もいい記事見つけたので貼っときます。↓ http://techblog.lclco.com/entry/2018/02/09/093000

こちらの記事も大変勉強になりますので参考にしてください!

明日は画面実装だ!

おしまい