-- 배치 작업 로그 ID 시퀀스 생성
CREATE SEQUENCE IF NOT EXISTS seq_batch_job_log_id START WITH 1 INCREMENT BY 1;

create table tb_batch_job_log
(
    LOG_ID       varchar(20) comment '로그 ID - 로그 레코드의 고유 식별자 (시퀀스 기반)'
        primary key,
    EXECUTION_ID varchar(36)                          not null comment '실행 ID (TB_BATCH_JOB_EXECUTION.EXECUTION_ID) - 연결된 배치 작업 실행',
    LOG_DTTM     datetime                             not null comment '로그 일시 - 로그가 발생한 정확한 시점',
    LOG_LEVEL    varchar(10)                          not null comment '로그 레벨 (INFO, WARN, ERROR) - 로그의 중요도 수준',
    LOG_MESSAGE  text                                 not null comment '로그 메시지 - 실제 로그 내용 (상세 정보, 에러 메시지 등)',
    REG_DTTM     datetime default current_timestamp() not null comment '등록 일시 - 레코드 생성 시점',
    constraint tb_batch_job_log_ibfk_1
        foreign key (EXECUTION_ID) references tb_batch_job_execution (EXECUTION_ID)
)
    comment '배치 작업 실행 로그 저장 테이블 - 배치 작업 실행 과정의 상세 로그 기록';

create index IDX_BATCH_LOG_EXECUTION_ID
    on tb_batch_job_log (EXECUTION_ID)
    comment '실행 ID 인덱스 - 특정 실행의 로그 조회 성능 향상';

