Skip to content

Instantly share code, notes, and snippets.

@youliangdao
Last active February 13, 2023 01:58
Show Gist options
  • Save youliangdao/f1dfd8140407869385439da765b522e0 to your computer and use it in GitHub Desktop.
Save youliangdao/f1dfd8140407869385439da765b522e0 to your computer and use it in GitHub Desktop.

各テーブルの説明

users テーブル

Column Type Options
nickname string null: false
description text
uid string null: false, unique: true
avatar_key string
role integer null: false, enum { general: 0, admin: 1 }
twitter_username string
github_username string

Association

  • has_many :article_likes
  • has_many :bookmarks
  • has_many :comment_likes

詳細

ログインユーザーの基本情報を保存するテーブルです。

認証には Firebase Authentication(以下 Firebase Auth と略す) を利用します。

  • nickname: ユーザーのニックネーム
  • description: 自己紹介文
  • uid: Firebase Auth が発行する JWT トークンをデコードして得られるユーザーに固有な ID
  • avatar_key: アバター画像URLの生成元Key
  • role: ユーザーの権限 enum { general: 0, admin: 1 }
  • twitter_username: Twitter のユーザー名
  • github_username: GitHub のユーザー名

articles テーブル

Column Type Options
link string null: false, unique: true
title string null: false
stock number null: false
date string null: false, unique: true
item_id string null: false, unique: true
media_name string null: false, unique: true
media_image string null: false, unique: true
image string null: false

Association

  • has_many :article_likes
  • has_many :bookmarks
  • has_many :comments
  • has_many :category_maps
  • has_many :categories

詳細

技術記事の情報を保存するテーブルです。

categories テーブル

Column Type Options
name string null: false, unique: true
image string null: false
path string null: false, unique: true

Association

  • has_many :category_maps

詳細

articles テーブルの各 link と紐付く category を保存するためのテーブルです

category_maps テーブル

Column Type Options
article references null: false, foreign_key: true
category references null: false, foreign_key: true

Association

  • has_many :categories
  • has_many :articles

詳細

articles テーブルの各 link と紐付く category を保存するためのテーブルです

comments テーブル

Column Type Options
body text null: false
article references null: false, foreign_key: true
user references null: false, foreign_key: true

Association

  • belongs_to :article
  • belongs_to :user

詳細

各技術記事に対するユーザーのコメントを保存するためのテーブルです。

bookmarks テーブル

Column Type Options
user references null: false, foreign_key: true
article references null: false, foreign_key: true

Association

  • belongs_to :user
  • belongs_to :article

詳細

ユーザーがどの技術記事をブックマークしたのか?を保存するためのテーブルです。

likes テーブル

Column Type Options
user references null: false, foreign_key: true
article references null: false, foreign_key: true

Association

  • belongs_to :user
  • belongs_to :article

詳細

ユーザーがどの技術記事をいいねしたのか?を保存するためのテーブルです。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment