enrich user-project interaction statistics

This commit is contained in:
2026-05-19 00:05:56 +08:00
parent 0377d5071f
commit 78f15c80a1
4 changed files with 42 additions and 11 deletions
+7 -2
View File
@@ -15,7 +15,8 @@ class ProjectItem(Base, AutoID):
ForeignKey("workspaces.id", ondelete="CASCADE"),
index=True,
)
# 自引用外键:如果是根目录下的顶级节点,则 parent_id 为 Null
# 自引用外键
# 如果是根目录下的顶级节点,则 parent_id 为 Null
parent_id = Column(
String(AutoID.id_length()), # 其实调用的就是自身的 id_length 方法
ForeignKey("project_items.id", ondelete="CASCADE"),
@@ -30,10 +31,14 @@ class ProjectItem(Base, AutoID):
# 如果是 project 节点,可以用这一列来存储其内容或配置快照(如 JSON 文本)
content = Column(String, nullable=True)
# --- 新增:富媒体与播放信息 ---
# --- 富媒体与播放信息 ---
cover_url = Column(String, nullable=True) # 封面图(可以是图片、GIF 或短视频预览 URL)
duration = Column(Integer, default=0) # 媒体时长(单位:秒,非视频/GIF 则为 0)
view_count = Column(Integer, default=0, nullable=False)
like_count = Column(Integer, default=0, nullable=False, server_default="0")
favorite_count = Column(Integer, default=0, nullable=False, server_default="0")
share_count = Column(Integer, default=0, nullable=False, server_default="0")
created_at = Column(DateTime(timezone=True), server_default=func.now())
updated_at = Column(DateTime(timezone=True), onupdate=func.now())