68 lines
4.6 KiB
Python
68 lines
4.6 KiB
Python
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
|
||
)
|
||
"""
|