📘 モデル設計書(Team Task Manager)

1. 🧑‍💼 Userモデル

カラム名 NULL 一意制約 備考
id bigint 主キー
name string 氏名
email string ログイン用メールアドレス
password_digest string has_secure_password対応
role integer enum: member, reviewer, admin
team_id bigint 所属チームID(外部キー)
created_at datetime 自動生成
updated_at datetime 自動生成

2. 🏢 Companyモデル

カラム名 NULL 一意制約 備考
id bigint 主キー
name string 会社名
created_at datetime 自動生成
updated_at datetime 自動生成

3. 🏬 Departmentモデル

カラム名 NULL 一意制約 備考
id bigint 主キー
name string 部署名
company_id bigint 所属会社ID(外部キー)
created_at datetime 自動生成
updated_at datetime 自動生成

4. 👥 Teamモデル

カラム名 NULL 一意制約 備考
id bigint 主キー
name string チーム名
department_id bigint 所属部署ID(外部キー)
created_at datetime 自動生成
updated_at datetime 自動生成

5. ✅ Taskモデル

カラム名 NULL 一意制約 備考
id bigint 主キー
title string タスク名
description text 詳細説明
assignee_id bigint 担当者ユーザーID(外部キー)
department_id bigint 担当部署ID(外部キー)
reviewer_id bigint レビュワーID(外部キー、任意)
task_type integer enum: normal, urgent, bugfix, meeting
status integer enum: todo, in_progress, done, review_pending
expected_end_date date 予想終了日
due_date date 目標締切日
start_date date 開始日
is_completed boolean 完了フラグ(true/false)
created_at datetime 自動生成
updated_at datetime 自動生成

🧠 補足