fromis_9/backend/sql/bot_youtube.sql
caadiq f2a15e07d6 feat(youtube-bot): 주간 지정 시간 폴링 모드 추가
- bot_youtube에 weekly_schedule_config JSON 컬럼 추가, cron_interval nullable로 변경
- weekly 모드: 지정 요일/시각에만 cron 트리거 → setInterval로 intervalSeconds 간격 폴링
- 종료 조건: 새 영상 1개 발견(stopOnFound) 또는 durationMinutes 경과
- 평상시 API 호출 없어 주 1회 업로드 채널(워크맨 등)의 할당량 낭비 최소화
- 프론트 폼에 상시/주간 모드 토글 추가, 요일 드롭다운 월~일 순서로 정렬
- 관련 문서(api/development/architecture) 갱신

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 20:56:54 +09:00

30 lines
964 B
SQL

-- YouTube 봇 테이블
CREATE TABLE IF NOT EXISTS bot_youtube (
id INT AUTO_INCREMENT PRIMARY KEY,
channel_id VARCHAR(30) NOT NULL,
channel_handle VARCHAR(50),
channel_name VARCHAR(100) NOT NULL,
banner_url VARCHAR(500),
cron_interval INT DEFAULT NULL,
enabled TINYINT(1) DEFAULT 1,
-- 제목 필터 (선택, JSON 배열)
title_filters JSON,
-- 멤버 설정 (선택)
default_member_ids JSON,
extract_members_from_desc TINYINT(1) DEFAULT 0,
-- 다음 주 예정 일정 설정 (JSON)
auto_schedule_config JSON,
-- 주간 집중 폴링 설정 (JSON) — 있으면 cron_interval 대신 사용
-- { dayOfWeek: 0~6, startTime: "HH:MM", intervalSeconds: int, durationMinutes: int }
-- 새 영상 1개 발견 시 즉시 종료
weekly_schedule_config JSON,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
UNIQUE KEY uk_channel_id (channel_id)
);