create database if not exists `intimate_extractor`;
use intimate_extractor;

CREATE TABLE IF NOT EXISTS `anchor_info` (
  `uid`           varchar(36)  NOT NULL,
  `platform`      varchar(255) NOT NULL,
  `anchor_id`     varchar(255) NOT NULL,
  `anchor_name`   varchar(255) NOT NULL,
  `platform_url`  text NOT NULL,
  `channel`       varchar(128) DEFAULT NULL,
  `show_type`     varchar(255) DEFAULT NULL,
  `update_time`   timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`uid`),
  KEY `platform_idx` (`platform`),
  KEY `anchor_id_idx` (`anchor_id`),
  KEY `anchor_name_idx` (`anchor_name`),
  KEY `channel_idx` (`channel`),
  KEY `show_type_idx` (`show_type`),
  KEY `update_time_idx` (`update_time`)
);

CREATE TABLE IF NOT EXISTS `show_log` (
  `uid`      varchar(36)  NOT NULL,
  `platform` varchar(255) NOT NULL,
  `anchor_id` varchar(255) NOT NULL,

  `is_showing` tinyint(1) DEFAULT NULL,
  `is_error` tinyint(1) DEFAULT NULL,

  `followers` int(11) DEFAULT NULL,
  `views` int(11) DEFAULT NULL,
  `giver` json DEFAULT NULL,
  `gratuity` int(11) DEFAULT NULL,

  `show_title` text DEFAULT NULL,
  `show_start_time` timestamp NULL DEFAULT NULL,
  `show_end_time` timestamp NULL DEFAULT NULL,
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `ext` json DEFAULT NULL,
  
  `error` text DEFAULT NULL,

  KEY `uid_idx` (`uid`),
  KEY `platform_idx` (`platform`),
  KEY `anchor_id_idx` (`anchor_id`),
  KEY `is_showing_idx` (`is_showing`),
  KEY `is_error_idx` (`is_error`),
  KEY `followers_idx` (`followers`),
  KEY `views_idx` (`views`),
  KEY `gratuity_idx` (`gratuity`),
  KEY `update_time_idx` (`update_time`)
) 