From 1e38b31e607355f9659c490358c530b43e82c742 Mon Sep 17 00:00:00 2001 From: Franklin-F Date: Tue, 1 Jul 2025 19:46:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96DB.py=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E8=A7=86=E9=A2=91=E8=AE=B0=E5=BD=95=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=EF=BC=8C=E7=A7=BB=E9=99=A4=E5=86=97=E4=BD=99=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E5=B9=B6=E8=B0=83=E6=95=B4=E5=AD=97=E6=AE=B5=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DB.py | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/DB.py b/DB.py index 57aea96..7545916 100644 --- a/DB.py +++ b/DB.py @@ -52,12 +52,9 @@ video_op = Table("sh_dm_video_op_v3", _meta, video = Table("sh_dm_video_v3", _meta, Column("id", Integer, primary_key=True, autoincrement=True), Column("v_id", String(64)), - Column("v_xid", String(64)), - Column("rn", String(50)), - Column("v_name", String(255), nullable=False), + Column("v_xid", String(64), nullable=False), Column("title", String(255), nullable=False), Column("link", String(255), nullable=False), - Column("is_piracy", Integer, default=3), Column("edition", String(255), default=''), Column("duration", String(11), default='0'), Column("watch_number", Integer, default=0), @@ -66,17 +63,14 @@ video = Table("sh_dm_video_v3", _meta, Column("public_time", DateTime), Column("cover_pic", String(255)), Column("sort", Integer), - Column("history_status", String(255)), Column("u_xid", String(64)), Column("u_id", String(100)), Column("u_pic", String(255)), Column("u_name", String(255)), Column("status", Integer, default=1), - Column("ts_status", Integer, default=1), - Column("createtime", Integer), - Column("updatetime", Integer), - Column("is_repeat", Integer, default=0), - Column("operatetime", Integer), + Column("createtime", Integer, default=0), + Column("updatetime", Integer, default=0), + Column("operatetime", Integer, default=0), ) # 作者表 video_author = Table( @@ -717,7 +711,6 @@ class DBSA: logger.debug(f"跳过重复视频记录: {vid_index_key}") return - # 操作记录表 op_row = { "v_id": data["v_id"], "v_xid": data["v_xid"], @@ -736,7 +729,6 @@ class DBSA: "ts_status": data.get("ts_status", 1), } - # 视频表 vid_row = { "v_id": data["v_id"], "v_xid": data["v_xid"], @@ -758,11 +750,10 @@ class DBSA: "watch_number": data.get("view", 0), "follow_number": data.get("fans", 0), "video_number": data.get("videos", 0), - "is_repeat": 3, "ts_status": data.get("ts_status", 1), } - # 仅保留 sh_dm_video_v3 表中存在的字段 + # 只保留 video 表中合法字段 video_fields = {c.name for c in video.columns} vid_row = {k: v for k, v in vid_row.items() if k in video_fields} @@ -792,7 +783,6 @@ class DBSA: if not op_rows and not vid_rows: return - # ====== 写作者表 ====== authors_map = {} now_ts = int(time.time()) for data in payloads: @@ -832,7 +822,6 @@ class DBSA: cls.push_record_many(payloads) return - # ====== 写操作记录表(UPSERT)====== if op_rows: try: stmt = mysql_insert(video_op).values(op_rows) @@ -850,7 +839,6 @@ class DBSA: cls.push_record_many(payloads) return - # ====== 写视频表(UPSERT)====== if vid_rows: try: stmt = mysql_insert(video).values(vid_rows) @@ -873,7 +861,6 @@ class DBSA: "ts_status": stmt.inserted.ts_status, "updatetime": stmt.inserted.updatetime, "operatetime": stmt.inserted.operatetime, - "is_repeat": stmt.inserted.is_repeat, } ondup = stmt.on_duplicate_key_update(**upd) with _engine.begin() as conn: @@ -894,4 +881,4 @@ class DBSA: if getattr(e.orig, "args", [None])[0] == 1213 and attempt < 2: time.sleep(0.5 * (attempt + 1)) continue - raise \ No newline at end of file + raise