1
0
1Panel-Appstore/apps/bili-fetcher/latest/config/sql_statements_mysql.py

68 lines
4.6 KiB
Python
Raw Normal View History

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
)
"""