-- 세션 테이블 (Spring Session JDBC와 유사한 구조) CREATE TABLE IF NOT EXISTS wr_session ( session_id VARCHAR(64) PRIMARY KEY, -- 세션 토큰 (랜덤 생성) employee_id INTEGER NOT NULL REFERENCES wr_employee_info(employee_id), login_history_id INTEGER REFERENCES wr_login_history(history_id), created_at TIMESTAMP DEFAULT NOW(), -- 세션 생성 시간 last_access_at TIMESTAMP DEFAULT NOW(), -- 마지막 접근 시간 expires_at TIMESTAMP NOT NULL, -- 만료 시간 login_ip VARCHAR(45), -- 로그인 IP user_agent TEXT -- 브라우저 정보 ); -- 인덱스 CREATE INDEX IF NOT EXISTS idx_wr_session_employee_id ON wr_session(employee_id); CREATE INDEX IF NOT EXISTS idx_wr_session_expires_at ON wr_session(expires_at); -- 만료된 세션 자동 정리 (선택사항 - 배치로 실행) -- DELETE FROM wr_session WHERE expires_at < NOW();