😎
DB設計の悩みを友人に相談した
お疲れ様です。
コードを書き始めて長くなく、間違えている部分がところどころあるかもしれません。
加えて初投稿で不慣れな部分も多いですが温かい目で見守ってください。
DBの設計
現在、React,Rails API でとある掲示板を作成しているのだが、Postへのgood,badの集計結果をどう保存するかのデータベース設計に悩んでいた。(上記画像が現在のDB)
はじめやろうとしていたのはgood,badそれぞれの集計結果をpostsテーブルに直接保存することだったのだけど、設計として間違っている気がしたので共同開発している友人に相談したところ、postsが保持するのはpost自体に従属しているものではないから、テーブルを分けるべきらしい。
だから、新しくテーブルを作って投票の集計などはそちらで行うことにした。
class CreateVotesStatus < ActiveRecord::Migration[7.1]
def change
create_table :votes_statuses do |t|
t.references :post, null: false,type: :uuid, foreign_key: true
t.integer :goodvotes_count
t.integer :badvotes_count
t.timestamps
end
end
end
これでmigrationを行って、実際にできたdbが
これでvote_statusテーブルで集計結果を管理しやすくなった。
Discussion