-- product_images.db 스키마
-- yakkok.com에서 크롤링한 제품 이미지 저장

CREATE TABLE IF NOT EXISTS product_images (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    barcode TEXT UNIQUE NOT NULL,           -- 바코드 (고유키)
    drug_code TEXT,                          -- PIT3000 DrugCode
    product_name TEXT NOT NULL,              -- 제품명
    search_name TEXT,                        -- 검색에 사용한 이름
    image_base64 TEXT,                       -- 이미지 (base64)
    image_url TEXT,                          -- 원본 URL
    thumbnail_base64 TEXT,                   -- 썸네일 (base64, 작은 사이즈)
    source TEXT DEFAULT 'yakkok',            -- 출처
    status TEXT DEFAULT 'pending',           -- pending/success/failed/manual/no_result
    error_message TEXT,                      -- 실패 시 에러 메시지
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
    updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

-- 인덱스
CREATE INDEX IF NOT EXISTS idx_barcode ON product_images(barcode);
CREATE INDEX IF NOT EXISTS idx_status ON product_images(status);
CREATE INDEX IF NOT EXISTS idx_drug_code ON product_images(drug_code);
CREATE INDEX IF NOT EXISTS idx_created_at ON product_images(created_at);

-- 크롤링 로그 테이블
CREATE TABLE IF NOT EXISTS crawl_logs (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    batch_id TEXT,                           -- 배치 ID
    total_count INTEGER DEFAULT 0,           -- 전체 개수
    success_count INTEGER DEFAULT 0,         -- 성공 개수
    failed_count INTEGER DEFAULT 0,          -- 실패 개수
    skipped_count INTEGER DEFAULT 0,         -- 스킵 개수 (이미 있음)
    started_at DATETIME,
    finished_at DATETIME,
    status TEXT DEFAULT 'running',           -- running/completed/failed
    error_message TEXT
);
