- monthly_worker_status 조회 시 GROUP BY로 중복 데이터 합산 - 작업보고서 삭제 권한을 그룹장 이상으로 제한 (admin, system, group_leader) - 중복 데이터 정리를 위한 마이그레이션 SQL 추가 (009_fix_duplicate_monthly_status.sql) - synology_deployment 버전에도 동일 수정 적용
31 lines
1.0 KiB
SQL
31 lines
1.0 KiB
SQL
-- 011_add_worker_status.sql
|
|
-- workers 테이블에 추가 정보 필드 추가
|
|
|
|
-- 작업자 상태 필드 수정 (기존 text에서 ENUM으로)
|
|
ALTER TABLE workers
|
|
MODIFY COLUMN status ENUM('active', 'inactive') DEFAULT 'active' COMMENT '작업자 상태 (active: 활성, inactive: 비활성)';
|
|
|
|
-- 작업자 추가 정보 필드들 추가
|
|
ALTER TABLE workers
|
|
ADD COLUMN phone_number VARCHAR(20) NULL COMMENT '전화번호';
|
|
|
|
ALTER TABLE workers
|
|
ADD COLUMN email VARCHAR(100) NULL COMMENT '이메일';
|
|
|
|
ALTER TABLE workers
|
|
ADD COLUMN hire_date DATE NULL COMMENT '입사일';
|
|
|
|
ALTER TABLE workers
|
|
ADD COLUMN department VARCHAR(100) NULL COMMENT '부서';
|
|
|
|
ALTER TABLE workers
|
|
ADD COLUMN notes TEXT NULL COMMENT '비고';
|
|
|
|
-- 기존 작업자들을 모두 활성 상태로 설정
|
|
UPDATE workers SET status = 'active' WHERE status IS NULL;
|
|
|
|
-- 인덱스 추가 (성능 최적화)
|
|
CREATE INDEX idx_workers_status ON workers(status);
|
|
CREATE INDEX idx_workers_job_type ON workers(job_type);
|
|
CREATE INDEX idx_workers_hire_date ON workers(hire_date);
|