Skip to content

Latest commit

 

History

History
100 lines (83 loc) · 3.02 KB

project_members.md

File metadata and controls

100 lines (83 loc) · 3.02 KB

project_members

Description

プロジェクト所属者テーブル

Table Definition
CREATE TABLE `project_members` (
  `project_id` char(36) NOT NULL,
  `user_id` char(36) NOT NULL,
  `since_year` smallint(4) NOT NULL,
  `since_semester` tinyint(1) NOT NULL,
  `until_year` smallint(4) NOT NULL,
  `until_semester` tinyint(1) NOT NULL,
  `created_at` datetime(6) DEFAULT NULL,
  `updated_at` datetime(6) DEFAULT NULL,
  PRIMARY KEY (`project_id`,`user_id`),
  KEY `fk_project_members_user` (`user_id`),
  CONSTRAINT `fk_project_members_project` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_project_members_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3

Columns

Name Type Default Nullable Children Parents Comment
project_id char(36) false projects プロジェクトUUID
user_id char(36) false users ユーザーUUID
since_year smallint(4) false プロジェクト所属開始年
since_semester tinyint(1) false プロジェクト所属開始学期(0:前期 1:後期)
until_year smallint(4) false プロジェクト所属終了年
until_semester tinyint(1) false プロジェクト所属終了学期(0:前期 1:後期)
created_at datetime(6) NULL true
updated_at datetime(6) NULL true

Constraints

Name Type Definition
fk_project_members_project FOREIGN KEY FOREIGN KEY (project_id) REFERENCES projects (id)
fk_project_members_user FOREIGN KEY FOREIGN KEY (user_id) REFERENCES users (id)
PRIMARY PRIMARY KEY PRIMARY KEY (project_id, user_id)

Indexes

Name Definition
fk_project_members_user KEY fk_project_members_user (user_id) USING BTREE
PRIMARY PRIMARY KEY (project_id, user_id) USING BTREE

Relations

erDiagram

"project_members" }o--|| "projects" : "FOREIGN KEY (project_id) REFERENCES projects (id)"
"project_members" }o--|| "users" : "FOREIGN KEY (user_id) REFERENCES users (id)"

"project_members" {
  char_36_ project_id PK
  char_36_ user_id PK
  smallint_4_ since_year
  tinyint_1_ since_semester
  smallint_4_ until_year
  tinyint_1_ until_semester
  datetime_6_ created_at
  datetime_6_ updated_at
}
"projects" {
  char_36_ id PK
  varchar_128_ name
  text description
  text link
  smallint_4_ since_year
  tinyint_1_ since_semester
  smallint_4_ until_year
  tinyint_1_ until_semester
  datetime_6_ created_at
  datetime_6_ updated_at
}
"users" {
  char_36_ id PK
  text description
  tinyint_1_ check
  varchar_32_ name
  tinyint_1_ state
  datetime_6_ created_at
  datetime_6_ updated_at
}
Loading

Generated by tbls