diff --git a/DB.py b/DB.py index 277b1ac..6355f17 100644 --- a/DB.py +++ b/DB.py @@ -19,7 +19,6 @@ MYSQL_URL = ( "mysql+pymysql://db_vidcon:rexdK4fhCCiRE4BZ" "@192.144.230.75:3306/db_vidcon?charset=utf8mb4" ) - _engine = create_engine( MYSQL_URL, pool_size=20, max_overflow=10, @@ -28,48 +27,58 @@ _engine = create_engine( ) _meta = MetaData() -video_op = Table("sh_dm_video_op_v2", _meta, - Column("v_id", BigInteger, primary_key=True), - Column("v_xid", String(64)), - Column("a_id", Integer), - Column("level", Integer), - Column("name_title", String(255)), - Column("keyword", String(255)), - Column("rn", String(8)), - Column("history_status", String(32)), - Column("is_repeat", Integer), - Column("sort", Integer), - Column("createtime", Integer), - Column("updatetime", Integer), - Column("batch", BigInteger), - Column("machine", Integer), - ) +# 操作记录表 (sh_dm_video_op_v3) +video_op = Table("sh_dm_video_op_v3", _meta, + Column("id", Integer, primary_key=True, autoincrement=True), + Column("v_id", String(64)), + Column("v_xid", String(64)), + Column("a_id", Integer, default=0), + Column("level", Integer), + Column("name_title", String(100)), + Column("keyword", String(100)), + Column("rn", String(50)), + Column("history_status", String(100)), + Column("is_repeat", Integer), + Column("is_piracy", String(2), default='3'), + Column("sort", Integer), + Column("createtime", Integer), + Column("updatetime", Integer), + Column("operatetime", Integer), + Column("batch", Integer), + Column("machine", Integer), + Column("ts_status", Integer, default=1), +) -video = Table("sh_dm_video_v2", _meta, - Column("v_id", BigInteger, primary_key=True), - Column("v_xid", String(64)), - Column("rn", String(8)), - Column("v_name", String(255)), - Column("title", String(255)), - Column("link", Text), - Column("edition", String(64)), - Column("duration", Integer), - Column("public_time", String(32)), - Column("cover_pic", Text), - Column("sort", Integer), - Column("u_xid", String(64)), - Column("u_id", BigInteger), - Column("u_pic", Text), - Column("u_name", String(255)), - Column("status", Integer), - Column("createtime", Integer), - Column("updatetime", Integer), +# 视频表 (sh_dm_video_v3) +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("v_name", String(255), 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), + Column("follow_number", Integer, default=0), + Column("video_number", Integer, default=0), + 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("watch_number", Integer), - Column("follow_number", Integer), - Column("video_number", Integer), - Column("is_repeat", Integer), - ) video_author = Table( "sh_dm_video_author", _meta, @@ -86,7 +95,6 @@ video_author = Table( Column("update_time", Integer, nullable=True, comment="更新时间(UNIX 时间戳)"), ) - def mysql_retry(max_retries: int = 3, base_delay: float = 2.0): """ 装饰器工厂:捕获 InterfaceError 后断线重连并重试,