- project_members 표 신설(016 마이그레이션, 기존 프로젝트는 생성자 자동 채움) - 프로젝트 수정 모달에 참여자 선택 추가, 참여자로 지정된 일반사용자는 해당 프로젝트 수정 가능 (백엔드 _can_edit_project 동반 수정) - B02 프로젝트 생성 시 생성자를 참여자로 자동 등록, 참여자도 같은 회사 구성원인지 검증 - 가입 요청 목록을 대기 상태만 표시 (처리 완료 건이 사용자 관리 목록과 중복 노출되던 문제) - 팀원 등록 시 남아 있던 가입 신청 자동 정리 - 서명·로고 선택 문구를 뜻이 드러나게 수정 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
27 lines
1.2 KiB
SQL
27 lines
1.2 KiB
SQL
-- 016_project_members.sql
|
|
-- 프로젝트 참여자 (2026-09-06 사용자 확정)
|
|
--
|
|
-- 도면 표제란에 실리는 이름은 한 사람뿐이지만(과업책임자·분야별책임자·설계자), 설계
|
|
-- 과정에서 손을 대는 보조 인원은 여러 명일 수 있다. 그 사람들을 담는 표다.
|
|
--
|
|
-- 참여자는 일반 사용자여도 그 프로젝트를 **수정할 수 있다**. 만든 사람은 등록 시점에
|
|
-- 자동으로 참여자가 된다.
|
|
|
|
USE aislo_db;
|
|
|
|
CREATE TABLE IF NOT EXISTS project_members (
|
|
project_id CHAR(36) NOT NULL COMMENT 'projects.id',
|
|
user_id INT NOT NULL COMMENT 'users.id',
|
|
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (project_id, user_id),
|
|
KEY idx_project_members_user (user_id),
|
|
CONSTRAINT fk_project_members_project FOREIGN KEY (project_id)
|
|
REFERENCES projects (id) ON DELETE CASCADE,
|
|
CONSTRAINT fk_project_members_user FOREIGN KEY (user_id)
|
|
REFERENCES users (id) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='프로젝트 참여자';
|
|
|
|
-- 기존 프로젝트는 만든 사람을 참여자로 채워 둔다.
|
|
INSERT IGNORE INTO project_members (project_id, user_id)
|
|
SELECT id, user_id FROM projects WHERE deleted_at IS NULL;
|