SHOW_DATABASES = "SHOW DATABASES LIKE %s"
CREATE_DATABASE = "CREATE DATABASE `{db_name}` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"
SHOW_TABLES = """
    SELECT COUNT(*)
    FROM information_schema.tables 
    WHERE table_schema = %s 
    AND table_name = %s
"""
CREATE_TABLE_DEFAULT = """
    CREATE TABLE {table} (
        id BIGINT PRIMARY KEY COMMENT '主键，使用雪花算法等库生成的唯一ID',
        title VARCHAR(255) NOT NULL COMMENT '条目标题，字符串，最大255字符',
        long_title VARCHAR(255) COMMENT '条目副标题（有时为空），最大255字符',
        cover VARCHAR(255) COMMENT '条目封面图url，用于专栏以外的条目',
        covers JSON COMMENT '条目封面图组，有效时array无效时null，仅用于专栏',
        uri VARCHAR(255) COMMENT '重定向url仅用于剧集和直播',
        oid BIGINT NOT NULL COMMENT '目标id稿件视频&剧集（当business=archive或business=pgc时）：稿件avid直播（当business=live时）：直播间id文章（当business=article时）：文章cvid文集（当business=article-list时）：文集rlid',
        epid BIGINT DEFAULT 0 COMMENT '剧集epid 仅用于剧集',
        bvid VARCHAR(50) NOT NULL COMMENT '稿件bvid 仅用于稿件视频',
        page INT DEFAULT 1 COMMENT '观看到的视频分P数 仅用于稿件视频',
        cid BIGINT COMMENT '观看到的对象id 稿件视频&剧集（当business=archive或business=pgc时）：视频cid文集（当business=article-list时）：文章cvid',
        part VARCHAR(255) COMMENT '观看到的视频分 P 标题 仅用于稿件视频',
        business VARCHAR(50) COMMENT '视频业务类型（如archive代表普通视频），最大50字符',
        dt INT NOT NULL COMMENT '记录查看的平台代码 1 3 5 7 手机端，2 web端，4 6 pad端，33TV端，0其他',
        videos INT DEFAULT 1 COMMENT '视频分 P 数目 仅用于稿件视频，整数型，默认为1',
        author_name VARCHAR(100) NOT NULL COMMENT 'UP 主昵称',
        author_face VARCHAR(255) COMMENT 'UP 主头像 url',
        author_mid BIGINT NOT NULL COMMENT 'UP 主 mid',
        view_at BIGINT NOT NULL COMMENT '查看时间 时间戳',
        progress INT DEFAULT 0 COMMENT '视频观看进度，单位为秒，用于稿件视频或剧集',
        badge VARCHAR(50) COMMENT '角标文案 稿件视频 / 剧集 / 笔记',
        show_title VARCHAR(255) COMMENT '分 P 标题 用于稿件视频或剧集',
        duration INT NOT NULL COMMENT '视频总时长 用于稿件视频或剧集',
        current VARCHAR(255) COMMENT '未知字段',
        total INT DEFAULT 0 COMMENT '总计分集数 仅用于剧集',
        new_desc VARCHAR(255) COMMENT '最新一话 / 最新一 P 标识 用于稿件视频或剧集',
        is_finish TINYINT(1) DEFAULT 0 COMMENT '是否观看完，布尔值，0为否，1为是',
        is_fav TINYINT(1) DEFAULT 0 COMMENT '是否收藏，布尔值，0为否，1为是',
        kid BIGINT COMMENT '条目目标 id',
        tag_name VARCHAR(100) COMMENT '子分区名 用于稿件视频和直播',
        live_status TINYINT(1) DEFAULT 0 COMMENT '直播状态 仅用于直播0未开播1已开播',
        main_category VARCHAR(100) COMMENT '主分区名称',
        remark TEXT COMMENT '用户添加的备注信息',
        remark_time BIGINT DEFAULT 0 COMMENT '备注添加时间的时间戳',
        INDEX (author_mid) COMMENT '建立作者MID的索引，用于快速查询',
        INDEX (view_at) COMMENT '建立观看时间的索引',
        INDEX (remark_time) COMMENT '建立备注时间的索引'
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
"""
CREATE_TABLE_LIKE = "CREATE TABLE {new_table} LIKE {reference_table};"
SELECT_DATABASE = "SELECT DATABASE() AS current_db;"

INSERT_DATA = """
    INSERT INTO {table} (
        id, title, long_title, cover, covers, uri, oid, epid, bvid, page, cid, part, 
        business, dt, videos, author_name, author_face, author_mid, view_at, progress, 
        badge, show_title, duration, current, total, new_desc, is_finish, is_fav, kid, 
        tag_name, live_status, main_category, remark, remark_time
    ) VALUES (
        %(id)s, %(title)s, %(long_title)s, %(cover)s, %(covers)s, %(uri)s, %(oid)s, 
        %(epid)s, %(bvid)s, %(page)s, %(cid)s, %(part)s, %(business)s, %(dt)s, 
        %(videos)s, %(author_name)s, %(author_face)s, %(author_mid)s, %(view_at)s, 
        %(progress)s, %(badge)s, %(show_title)s, %(duration)s, %(current)s, %(total)s, 
        %(new_desc)s, %(is_finish)s, %(is_fav)s, %(kid)s, %(tag_name)s, %(live_status)s, 
        %(main_category)s, %(remark)s, %(remark_time)s
    )
"""
