- localStorage와 DB ID 불일치 문제 해결 - 프로젝트별 보고서 시간 필터링 수정 - 일반 사용자에게 일일공수 메뉴 숨김 - 공통 헤더 및 인증 시스템 구현 - 프로젝트별 일일공수 분리 기능 추가 (ProjectDailyWork 모델) - IssuesAPI에서 project_id 누락 문제 수정 - 사용자 인증 통합 (TokenManager 기반)
26 lines
943 B
SQL
26 lines
943 B
SQL
-- 프로젝트별 일일공수 테이블 생성
|
|
CREATE TABLE project_daily_works (
|
|
id SERIAL PRIMARY KEY,
|
|
date DATE NOT NULL,
|
|
project_id BIGINT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
|
|
hours FLOAT NOT NULL,
|
|
created_by_id INTEGER NOT NULL REFERENCES users(id),
|
|
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
-- 인덱스 생성
|
|
CREATE INDEX idx_project_daily_works_date ON project_daily_works(date);
|
|
CREATE INDEX idx_project_daily_works_project_id ON project_daily_works(project_id);
|
|
CREATE INDEX idx_project_daily_works_date_project ON project_daily_works(date, project_id);
|
|
|
|
-- 기존 일일공수 데이터를 프로젝트별로 마이그레이션 (M Project로)
|
|
INSERT INTO project_daily_works (date, project_id, hours, created_by_id, created_at)
|
|
SELECT
|
|
date::date,
|
|
1, -- M Project ID
|
|
total_hours,
|
|
created_by_id,
|
|
created_at
|
|
FROM daily_works
|
|
WHERE total_hours > 0;
|