📄 테이블 명세서 (Table Specifications)

1. image_job (이미지 처리 작업 테이블)

이미지 생성/변환 등 실제 작업에 대한 상태 및 결과를 관리하는 테이블입니다.

물리 컬럼명 (Column Name) 데이터 타입 (Data Type) PK/FK Null 허용 설명 (Description)
image_job_id BIGINT PK N 이미지 작업 식별자 기본키 (ID)
source_image_url VARCHAR N 원본 이미지 URL
status VARCHAR N 작업 상태 (예: PENDING, DISPATCHING, PROCESSING, DONE 등)
worker_job_id VARCHAR Y 외부 워커 시스템에서 할당된 작업 ID
result_image_url VARCHAR Y 처리 완료된 결과 이미지 URL
result_at DATETIME Y 결과 생성 일시
failure_code INT Y 실패 코드 (실패 시 작성)
failure_message VARCHAR Y 실패 상세 메시지
failed_at DATETIME Y 예외 또는 완전 실패 처리 일시
dispatch_attempt_count INT N 워커 디스패치 재시도 횟수
poll_attempt_count INT N 워커 상태 폴링 재시도 횟수
created_at DATETIME Y 레코드 생성 일시
updated_at DATETIME Y 레코드 최근 수정 일시

2. outbox_event (아웃박스 이벤트 테이블)

이벤트 발행 보장(Transactional Outbox Pattern)을 위해 사용하는 기록 테이블입니다.

물리 컬럼명 (Column Name) 데이터 타입 (Data Type) PK/FK Null 허용 설명 (Description)
id BIGINT PK N 아웃박스 이벤트 식별자 기본키 (ID)
domain_type VARCHAR N 도메인 유형 (예: IMAGE_JOB 등)
domain_id BIGINT FK급 N 타겟 도메인의 식별자 아이디
type VARCHAR N 아웃박스 이벤트 타입
payload TEXT N 발행할 메시지의 페이로드 (본문 데이터)
status VARCHAR N 아웃박스 상태 (예: PUBLISH_PENDINGPUBLISHED 등)
created_at DATETIME N 이벤트 생성 일시
published_at DATETIME Y 메시지 브로커 이벤트 발행 일시
available_at DATETIME N 재시도/가용 가능 일시