CREATE TABLE TB_BATCH_FILE_RETRY
(
    RETRY_ID           VARCHAR(20)                             NOT NULL COMMENT '재처리ID'
        PRIMARY KEY,
    ORIGINAL_FILE_NM VARCHAR(255)                            NOT NULL COMMENT '원본 파일명(파일명이 동일할경우 정확한 처리를위해 TIMESTAMP 추가)',
    RETRY_FILE_NM    VARCHAR(255)                            NOT NULL COMMENT '재 처리 파일명',
    RETRY_CNT        INT         DEFAULT 1                   NOT NULL COMMENT '재시도 횟수',
    MAX_RETRY_CNT    INT         DEFAULT 3                   NOT NULL COMMENT '최대 재시도 횟수',
    RETRY_STATUS       VARCHAR(20) DEFAULT 'PENDING'           NOT NULL COMMENT '재처리 상태(PENDING/PROCESSING/SUCCESS/FAILED/EXCEEDED)',
    ERROR_TYPE         VARCHAR(50)                             NULL COMMENT '에러 유형(FORMAT_ERROR/DATA_ERROR/SYSTEM_ERROR)',
    ERROR_MESSAGE      TEXT                                    NULL COMMENT '에러 메시지',
    RETRY_DTTM         DATETIME    DEFAULT CURRENT_TIMESTAMP() NULL COMMENT '재처리 일시',
    NEXT_RETRY_DTTM    DATETIME                                NULL COMMENT '다음 재처리 예정일시',
    COMPLETED_DTTM     DATETIME                                NULL COMMENT '완료 일시',
    REG_DTTM       DATETIME    DEFAULT CURRENT_TIMESTAMP() NULL COMMENT '등록 일시',
    RGTR    VARCHAR(20)                             NULL COMMENT '등록자',
    MDFCN_DTTM       DATETIME    DEFAULT CURRENT_TIMESTAMP() NULL ON UPDATE CURRENT_TIMESTAMP() COMMENT '수정일시',
    MDFR    VARCHAR(20)                             NULL COMMENT '수정자'
)
    COMMENT '배치파일재처리이력' COLLATE = UTF8MB4_UNICODE_CI;

CREATE INDEX IDX_NEXT_RETRY_DTTM
    ON TB_BATCH_FILE_RETRY (NEXT_RETRY_DTTM);

CREATE INDEX IDX_ORIGINAL_FILE_NM
    ON TB_BATCH_FILE_RETRY (ORIGINAL_FILE_NM);

CREATE INDEX IDX_RETRY_DTTM
    ON TB_BATCH_FILE_RETRY (RETRY_DTTM);

CREATE INDEX IDX_RETRY_STATUS
    ON TB_BATCH_FILE_RETRY (RETRY_STATUS);

