Files
appstore-1panel/dockge/bili-fetcher/config/sql_statements_mysql.py
2025-05-22 09:23:41 +00:00

68 lines
4.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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