Livepack V4 DB 마이그레이션 - 테이블 분석

1. v3 Java Livepack Repository 목록

1-1. 채널 관련

Repository 테이블 설명
LiveChannelRepository live_channel 채널 메인
LiveChannelBackupRepository live_channel_backup 채널 백업 설정
LiveChannelDeviceRepository live_channel_device 채널별 디바이스
LiveChannelEncodeTypeRepository live_channel_encode_type 채널별 인코딩 타입
LiveChannelPlayerRepository live_channel_player 채널별 플레이어
LiveChannelHtml5PlayerRepository live_channel_html5_player 채널별 HTML5 플레이어
LiveChannelAdRepository live_channel_ad 채널별 광고
LiveChannelThumbRepository live_channel_thumb 채널 썸네일
LiveChannelStreamKeyRepository live_channel_streamkey 스트림키
LiveChannelEventRepository live_channel_event_id 이벤트 ID

1-2. 방송/송출 관련

Repository 테이블 설명
LiveChannelBroadcastRepository live_channel_broadcast 방송 세션
LivePublishStatusRepository live_publish_status 송출 상태
LivePublishHistoryRepository live_publish_history 송출 이력
LiveChannelPublishStatusRepository live_publish_status 채널 송출 상태
LiveMultiPublishRepository live_multi_publish 멀티 송출

1-3. 녹화 관련

Repository 테이블 설명
LiveVodUploadRepository live_vod_upload 녹화 VOD 업로드

1-4. 계정/상품

Repository 테이블 설명
LiveAccountRepository live_account 라이브팩 계정 (v4: account DB로 대체)
LiveAccountInfoRepository live_account_info 계정 상세 (v4: account DB로 대체)
ProductServiceRepository product_service 상품 서비스
LiveServiceOptionRepository service_option 서비스 옵션
LiveServiceTypeRepository service_type 서비스 타입
AccountInfoRepository account_info 계정 정보 (v4: account DB로 대체)

1-5. 인코딩/노드/인프라

Repository 테이블 설명
LiveEncodeTypeRepository live_encode_type 인코딩 타입 마스터
AwsMediaLiveRepository medialive_channel, medialive_storage_info, live_input_addr_info, live_origin_addr_info AWS MediaLive
MediaPackageChannelGroupRepository mediapackage_channel_group, mediapackage_channel MediaPackage

1-6. 플레이어

Repository 테이블 설명
LivePlayerTypeRepository live_player_type 플레이어 타입
LivePlayerOptionRepository live_player_option 플레이어 옵션
LivePlayerAssetsRepository player_assets 플레이어 에셋
LiveHtml5PlayerRepository live_html5_player_type HTML5 플레이어 타입 (v4: 레거시 모바일 플레이어, 불필요)

1-7. 광고 (보류)

Repository 테이블 설명
LiveAdVideoRepository live_ad_video, live_ad_upload 광고 영상 (v4: 보류)
LiveAdVideoFileRepository live_ad_video_file 광고 영상 파일 (v4: 보류)

1-8. 접근 제한/보안

Repository 테이블 설명
LiveBlockAreaRepository live_block_area 지역 제한
LiveBlockDeviceRepository live_block_device 디바이스 제한
LiveBlockDomainRepository live_block_domain 도메인 제한
IPRestrictionRepository ip_restriction IP 제한 (v4: videopack 기존 구현 이식)

1-9. CDN

Repository 테이블 설명
LiveCdnDomainRepository live_cdn_service_multi_domain, live_cdn_service CDN 도메인

1-10. 기타

Repository 테이블 설명
LiveCastInfoRepository live_cast_info 캐스트 정보 (v4: WeLive 전용, 불필요)
AlarmRepository alarm 알람
AlarmTypeRepostitory alarm_type 알람 타입
LogLoginRepository log_login 로그인 로그
SessionRepository session_time 세션
CountryRepository country_code 국가 코드

2. v3 Livepack DB 전체 테이블 목록 (database-schema 기준, 100개)

채널 핵심

송출/방송

녹화

계정/상품

인코딩

노드/인프라

AWS MediaLive/MediaPackage

CDN/트래픽/스토리지

플레이어

광고

접근 제한

캐스트

기타/관리

API 문서 (v4 불필요)


3. V4 테이블 설계 매핑 (v3 통합/정리)

v4 livepack DB 생성 현황

v4 테이블 생성 여부 v3 대응
live_channel 생성됨 v3 live_channel 통합/정리
live_channel_encode_type 생성됨 v3 live_channel_encode_type
live_channel_cloudflare 생성됨 (v4 신규)
live_channel_ivs 생성됨 (v4 신규)
live_channel_medialive 생성됨 v3 medialive_channel 통합
live_channel_mediapackage 생성됨 v3 mediapackage_channel 통합
live_channel_archive 생성됨 v3 medialive_archive_encode_type 관련
live_channel_frame_capture 생성됨 (v4 신규)
live_broadcast 생성됨 v3 live_channel_broadcast + live_publish_status/history 통합
live_recording 생성됨 v3 live_vod_upload 통합
live_event 생성됨 v3 live_channel_event_id
live_stream_key_history 생성됨 v3 live_channel_streamkey_history
live_encode_type 생성됨 v3 live_encode_type
live_default_encode_type 생성됨 v3 live_default_encode_type
player_type 생성됨 v3 live_player_type
player_option 생성됨 v3 live_player_option
ip_access_policy 생성됨 v3 ip_restriction 통합/정리
ip_access_list 생성됨 v3 ip_restriction 상세
notification 생성됨 v3 alarm
product_service 생성됨 v3 product_service
product_service_history 생성됨 (v4 신규)
product_type 생성됨 (v4 신규)
service_type 생성됨 v3 service_type
service_options 생성됨 v3 service_option
service_payment 생성됨 (v4 신규)
service_price 생성됨 (v4 신규)
schedule_plan 생성됨 구독 플랜용 (v3 플랜과 무관)
live_storage_plan DDL 생성 v3 live_storage_plan
live_traffic_plan DDL 생성 v3 live_traffic_plan
live_encoding_plan DDL 생성 v3 live_encoding_plan
live_storage_usage DDL 생성 v3 live_storage_usage
live_storage_traffic_info DDL 생성 v4: 불필요 (videopack 구조 따라 제거)
live_encoding_usage DDL 생성 v3 live_encoding_usage
live_encoding_usage_monthly DDL 생성 v3 live_encoding_usage_monthly
live_encoding_status DDL 생성 v3 live_encoding_status
live_encoding_status_history DDL 생성 v3 live_encoding_status_history
live_multi_publish DDL 생성 v3 live_multi_publish
live_block_area DDL 생성 v3 live_block_area
live_block_device DDL 생성 v3 live_block_device
live_block_domain DDL 생성 v3 live_block_domain
live_input_addr_info DDL 생성 v3 live_input_addr_info (provider_type으로 변경)
live_origin_addr_info DDL 생성 v3 live_origin_addr_info (provider_type으로 변경)
medialive_channel_settings DDL 생성 v3 medialive_channel_settings
medialive_channel_start_stop_history DDL 생성 v3 medialive_channel_start_stop_history
medialive_input_security DDL 생성 v3 medialive_input_security
medialive_input_stream_status DDL 생성 v3 medialive_input_stream_status
medialive_storage_info DDL 생성 v3 medialive_storage_info
medialive_publish_status DDL 생성 v3 medialive_publish_status
medialive_publish_history DDL 생성 v3 medialive_publish_history
mediapackage_channel_group DDL 생성 v3 mediapackage_channel_group
api_info DDL 생성 livepack 전용 Open API Key (videopack과 별도)
live_channel_device DDL 생성 v3 live_channel_device (채널별 디바이스-인코딩 매핑)
cdn_info DDL 생성 CDN 정보 (CF 단일 구조로 단순화)
batch_thumbnail_delete DDL 생성 썸네일 삭제 큐
order 생성됨 (v4 신규)
order_request 생성됨 (v4 신규)

2-1. live_channel (P0) — 생성됨

v3 통합 대상:

v3 테이블 통합 방식
live_channel 메인 컬럼 가져오기
live_channel_backup 컬럼으로 통합 또는 별도 유지
live_channel_encode_type 별도 테이블 유지 (live_channel_encode_type)
live_channel_streamkey 컬럼으로 통합
live_channel_device JSON 컬럼 또는 별도 테이블
live_channel_thumb 컬럼으로 통합
live_channel_player 별도 테이블 유지

2-2. live_recording (P0) — 생성됨

v3 통합 대상:

v3 테이블 통합 방식
live_vod_upload 기반 테이블
(신규) 녹화 세션 메타데이터, 파일 경로, 인코딩 상태 추가

2-3. live_broadcast (P0) — 생성됨

v3 통합 대상:

v3 테이블 통합 방식
live_channel_broadcast 방송 세션 기반
live_publish_status 상태 컬럼으로 통합
live_publish_history 이력은 별도 유지 또는 같은 테이블에 종료 시각 기록
(신규) 시청자 수 피크(peak_viewers), 시작/종료 시각 컬럼 추가

2-4. 인덱스 (P1)

-- 채널 수 제한 체크용
CREATE INDEX idx_live_channel_gid_status ON live_channel (gid, status);

2-5. 기존 livepack DB 관계 정리 (P1)

구분 테이블 관계
참조만 (JOIN 불필요) product_service, service_options, service_type v4 livepack DB에 생성됨
불필요 live_account, live_account_info v4: account DB가 별도 존재하므로 불필요
v4 통합 생성됨 live_channel_medialive, live_channel_mediapackage v3 medialive_*, mediapackage_* 통합
v4 생성됨 ip_access_policy, ip_access_list v3 ip_restriction 통합/정리
v4 생성됨 notification v3 alarm 대체
v4 불필요 live_api_doc_* API 문서 테이블, v4에서 사용 안 함
검토 필요 live_cdn_*, live_encoding_* 인프라 구조 변경에 따라 결정