-- ============================================
-- event_credit_lots 테이블 생성
-- 이벤트 크레딧 로트 관리 (만료일 추적)
-- ============================================

CREATE TABLE IF NOT EXISTS `event_credit_lots` (
    `id` INT NOT NULL AUTO_INCREMENT,
    `user_id` INT NOT NULL COMMENT '사용자 ID',
    `event_id` VARCHAR(100) NOT NULL COMMENT '이벤트 식별자 (예: signup_bonus, promo_2024 등)',
    `amount_remaining` INT NOT NULL DEFAULT 0 COMMENT '남은 크레딧 양',
    `expires_at` DATE NOT NULL COMMENT '만료일 (KST 기준 날짜)',
    `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '생성일시',
    `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '수정일시',
    PRIMARY KEY (`id`),
    INDEX `idx_user_id` (`user_id`),
    INDEX `idx_event_id` (`event_id`),
    INDEX `idx_expires_at` (`expires_at`),
    INDEX `idx_user_event` (`user_id`, `event_id`),
    CONSTRAINT `fk_event_credit_lots_user` 
        FOREIGN KEY (`user_id`) 
        REFERENCES `user` (`id`) 
        ON DELETE CASCADE 
        ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
COMMENT='이벤트 크레딧 로트 테이블 (만료일 관리)';

-- ============================================
-- 완료 메시지
-- ============================================
SELECT 'event_credit_lots 테이블 생성 완료' AS message;

