こんにちは。
DB設計についてアドバイスをいただけないでしょうか。
現在、プロジェクト管理のアプリを開発中です。
通知を作成する機能が欲しいのですがDB設計が正しいのかいまいちわからないのでアドバイスをいただきたいです。
通知を作成するタイミング
- プロジェクトにアサインされたタイミング(project_assignees)
- ユーザーの月単価が変更されたタイミング(sales_prise)
project_assigneesやsales_priseが更新されたタイミングでnotificationを作成するイメージです。
※通知機能以外は既に実装済みで動作も問題ないです。
##DB設計
###usersテーブル
field | type | Remarks |
---|---|---|
id | bigserial | サロゲートキー |
name | varchar(50) | プロジェクト名 |
###user_sales_pricesテーブル
field | type | Remarks |
---|---|---|
id | bigserial | サロゲートキー |
user_id | bigint | ユーザーのid |
per_month | numeric | 月単価 |
###projectsテーブル
field | type | Remarks |
---|---|---|
id | bigserial | サロゲートキー |
name | varchar(50) | プロジェクト名 |
###project_assigneesテーブル
field | type | Remarks |
---|---|---|
id | bigserial | サロゲートキー |
project_id | bigint | アサイン先プロジェクト(projects.id) |
###notificationテーブル
field | type | Remarks |
---|---|---|
id | bigserial | サロゲートキー |
user_id | bigint | ユーザーのid |
type | varchar(50) | 通知タイプ |
text | varchar(50) | 通知テキスト |
link | varchar(50) | 通知先リンク |
is_read | boolean | 既読 |
- type...assignee/salesPrise
あなたの回答
tips
プレビュー