DB名 : minder_mutunet_db
1. mutunet_users(ユーザー本体)
| カラム名 |
データ型 |
制約 |
インデックス |
説明 |
id |
BIGINT |
PRIMARY KEY, AUTO_INCREMENT |
PK |
ユーザーID |
email |
VARCHAR(255) |
NOT NULL |
UNIQUE |
メールアドレス |
password_hash |
CHAR(64) |
NOT NULL, CHARACTER SET ascii |
– |
パスワードハッシュ |
is_deleted |
BOOLEAN |
NOT NULL, DEFAULT FALSE |
– |
削除フラグ |
created_at |
DATETIME |
NOT NULL, DEFAULT CURRENT_TIMESTAMP |
– |
作成日時 |
updated_at |
DATETIME |
NOT NULL, DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
– |
更新日時 |
2. user_attributes(ユーザー属性)
| カラム名 |
データ型 |
制約 |
インデックス |
説明 |
id |
BIGINT |
PRIMARY KEY, AUTO_INCREMENT |
PK |
属性ID |
user_id |
BIGINT |
NOT NULL, FOREIGN KEY (users.id) |
INDEX, UNIQUE(user_id, attribute_key) |
ユーザーID |
attribute_key |
VARCHAR(255) |
NOT NULL |
UNIQUE(user_id, attribute_key) |
属性キー |
attribute_value |
TEXT |
NULL |
– |
属性値 |
created_at |
DATETIME |
NOT NULL, DEFAULT CURRENT_TIMESTAMP |
– |
作成日時 |
updated_at |
DATETIME |
NOT NULL, DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
– |
更新日時 |
3. tracks(演奏トラック)
| カラム名 |
データ型 |
制約 |
インデックス |
説明 |
id |
BIGINT |
PRIMARY KEY, AUTO_INCREMENT |
PK |
トラックID |
user_id |
BIGINT |
NOT NULL, FOREIGN KEY (users.id) |
INDEX |
ユーザーID |
instrument_name |
VARCHAR(100) |
NOT NULL |
INDEX |
楽器名 |
file_url |
TEXT |
NOT NULL |
– |
ファイルURL |
is_deleted |
BOOLEAN |
NOT NULL, DEFAULT FALSE |
– |
削除フラグ |
created_at |
DATETIME |
NOT NULL, DEFAULT CURRENT_TIMESTAMP |
– |
作成日時 |
updated_at |
DATETIME |
NOT NULL, DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
– |
更新日時 |
4. track_attributes(トラック属性)
| カラム名 |
データ型 |
制約 |
インデックス |
説明 |
id |
BIGINT |
PRIMARY KEY, AUTO_INCREMENT |
PK |
属性ID |
track_id |
BIGINT |
NOT NULL, FOREIGN KEY (tracks.id) |
INDEX, UNIQUE(track_id, attribute_key) |
トラックID |
attribute_key |
VARCHAR(255) |
NOT NULL |
UNIQUE(track_id, attribute_key) |
属性キー |
attribute_value |
TEXT |
NULL |
– |
属性値 |
created_at |
DATETIME |
NOT NULL, DEFAULT CURRENT_TIMESTAMP |
– |
作成日時 |
updated_at |
DATETIME |
NOT NULL, DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
– |
更新日時 |
5. projects(プロジェクト) ※変更
status_id カラムを追加。
| カラム名 |
データ型 |
制約 |
インデックス |
説明 |
| id |
BIGINT UNSIGNED |
PRIMARY KEY, AUTO_INCREMENT |
PRIMARY |
プロジェクトID |
| user_id |
BIGINT UNSIGNED |
NOT NULL, FOREIGN KEY (mutunet_users.id) |
FK |
プロジェクト作成ユーザーID |
| status_id |
TINYINT UNSIGNED |
NOT NULL, DEFAULT 1, FOREIGN KEY (mst_project_statuses.id) |
FK |
プロジェクトステータスID(デフォルト 1:コラボ募集中) |
| is_deleted |
BOOLEAN |
NOT NULL, DEFAULT 0 |
– |
削除フラグ |
| created_at |
TIMESTAMP |
NULL |
– |
作成日時 |
| updated_at |
TIMESTAMP |
NULL |
– |
更新日時 |
6. project_attributes(プロジェクト属性)
プロジェクトのタイトル、概要、ジャンル、完パケ音源URL等の可変属性を管理するEAV構造テーブル。
| カラム名 |
データ型 |
制約 |
インデックス |
説明 |
| id |
BIGINT UNSIGNED |
PRIMARY KEY, AUTO_INCREMENT |
PRIMARY |
属性ID |
| project_id |
BIGINT UNSIGNED |
NOT NULL, FOREIGN KEY (projects.id) ON DELETE CASCADE |
FK |
対象プロジェクトID |
| attribute_key |
VARCHAR(255) |
NOT NULL |
INDEX |
属性名(title, description, genre, completed_track_url 等) |
| attribute_value |
TEXT |
NULL |
– |
属性値 |
| created_at |
TIMESTAMP |
NULL |
– |
作成日時 |
| updated_at |
TIMESTAMP |
NULL |
– |
更新日時 |
7. mst_project_track_statuses(プロジェクトトラック状態マスター)
| カラム名 |
データ型 |
制約 |
インデックス |
説明 |
id |
INT |
PRIMARY KEY, AUTO_INCREMENT |
PK |
ステータスID |
name |
VARCHAR(50) |
NOT NULL |
UNIQUE |
ステータス名 |
created_at |
DATETIME |
NOT NULL, DEFAULT CURRENT_TIMESTAMP |
– |
作成日時 |
8. project_tracks(プロジェクト構成トラック)
| カラム名 |
データ型 |
制約 |
インデックス |
説明 |
id |
BIGINT |
PRIMARY KEY, AUTO_INCREMENT |
PK |
構成トラックID |
project_id |
BIGINT |
NOT NULL, FOREIGN KEY (projects.id) |
UNIQUE(project_id, track_id) |
プロジェクトID |
track_id |
BIGINT |
NOT NULL, FOREIGN KEY (tracks.id) |
INDEX, UNIQUE(project_id, track_id) |
トラックID |
status_id |
INT |
NOT NULL, FOREIGN KEY (project_track_statuses.id) |
INDEX |
ステータスID |
created_at |
DATETIME |
NOT NULL, DEFAULT CURRENT_TIMESTAMP |
– |
作成日時 |
9. favorite_users(お気に入りユーザー)
| カラム名 |
データ型 |
制約 |
インデックス |
説明 |
id |
BIGINT |
PRIMARY KEY, AUTO_INCREMENT |
PK |
お気に入りユーザー管理ID |
user_id |
BIGINT |
NOT NULL, FOREIGN KEY (users.id) |
UNIQUE(user_id, favorite_user_id) |
ユーザーID |
favorite_user_id |
BIGINT |
NOT NULL, FOREIGN KEY (users.id) |
INDEX, UNIQUE(user_id, favorite_user_id) |
対象ユーザーID |
display_order |
INT |
NOT NULL, DEFAULT 0 |
– |
表示順 |
created_at |
DATETIME |
NOT NULL, DEFAULT CURRENT_TIMESTAMP |
– |
作成日時 |
10. favorite_projects(お気に入りプロジェクト)
| カラム名 |
データ型 |
制約 |
インデックス |
説明 |
id |
BIGINT |
PRIMARY KEY, AUTO_INCREMENT |
PK |
お気に入りプロジェクト管理ID |
user_id |
BIGINT |
NOT NULL, FOREIGN KEY (users.id) |
UNIQUE(user_id, project_id) |
ユーザーID |
project_id |
BIGINT |
NOT NULL, FOREIGN KEY (projects.id) |
INDEX, UNIQUE(user_id, project_id) |
対象プロジェクトID |
display_order |
INT |
NOT NULL, DEFAULT 0 |
– |
表示順 |
created_at |
DATETIME |
NOT NULL, DEFAULT CURRENT_TIMESTAMP |
– |
作成日時 |