feat: Introduce knex for database migrations
- Adds knex.js to manage database schema changes systematically. - Creates an initial migration file based on `hyungi_schema_v2.sql` to represent the current database state. - Adds npm scripts (`db:migrate`, `db:rollback`, etc.) for easy execution of migration tasks. - Archives legacy SQL files and old migration scripts into the `db_archive/` directory to prevent confusion and clean up the project structure.
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
-- 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);
|
||||
Reference in New Issue
Block a user