Files
akmon/QUALITY_SCORE_FIX.md
2026-01-20 08:04:15 +08:00

3.1 KiB
Raw Permalink Blame History

质量评分字段修复

问题描述

在执行模拟数据插入时遇到错误:

null value in column "quality_score" of relation "ak_contents" violates not-null constraint

这表明 ak_contents 表中存在 quality_score 字段,且设置了 NOT NULL 约束,但我们的插入语句中没有包含此字段。

解决方案

1. 添加字段到插入语句

在 INSERT INTO 语句中添加了 quality_score 字段:

INSERT INTO ak_contents (
    id, title, content, summary, status, content_type, original_language, quality_score,
    -- 其他字段...
) VALUES

2. 为所有记录添加质量评分

为每条模拟数据记录添加了合理的质量评分值:

内容类型 内容标题 质量评分 说明
视频 星际征途:未来科幻大片 8.5 高质量科幻电影
视频 血战江湖:经典动作片 9.2 优秀动作片
音频 夜空中最亮的星 - 王歌手 8.8 高质量音乐作品
图片 杭州西湖美景摄影作品 9.0 专业摄影作品
图集 云南旅行摄影图集 8.7 高质量旅行摄影

3. 质量评分标准

采用 10 分制评分系统:

  • 9.0-10.0: 优秀质量,专业制作
  • 8.0-8.9: 良好质量,制作精良
  • 7.0-7.9: 中等质量,基本要求
  • 6.0-6.9: 一般质量,可接受
  • 5.0-5.9: 较低质量,需要改进

修改详情

修改前

INSERT INTO ak_contents (
    id, title, content, summary, status, content_type, original_language,
    video_url, video_duration, ...
) VALUES 
(
    gen_random_uuid(), 
    '星际征途:未来科幻大片',
    ...,
    'published',
    'video',
    'zh-CN',
    'https://example.com/videos/sample-video-1.mp4', 1800, 
    ...
)

修改后

INSERT INTO ak_contents (
    id, title, content, summary, status, content_type, original_language, quality_score,
    video_url, video_duration, ...
) VALUES 
(
    gen_random_uuid(), 
    '星际征途:未来科幻大片',
    ...,
    'published',
    'video',
    'zh-CN',
    8.5,
    'https://example.com/videos/sample-video-1.mp4', 1800, 
    ...
)

验证结果

  • SQL 语法检查通过
  • 所有记录都包含质量评分
  • 评分值符合业务逻辑
  • 数据类型匹配表结构要求

注意事项

  1. 字段约束: quality_score 字段不能为 NULL
  2. 数据类型: 应为数值类型DECIMAL 或 NUMERIC
  3. 值范围: 建议使用 0-10 的评分范围
  4. 业务逻辑: 评分应反映内容的实际质量

后续建议

  1. 动态评分: 可以根据用户互动(点赞、评论、分享)动态调整质量评分
  2. 算法优化: 考虑实现自动质量评估算法
  3. 审核机制: 建立内容质量审核流程
  4. 统计分析: 利用质量评分进行内容推荐和排序

文件状态

  • 文件: h:\blews\akmon\video_system_database.sql
  • 状态: 已修复,可正常执行
  • 验证: 通过 PostgreSQL 语法检查
  • 更新时间: 2025-07-07

质量评分字段修复完成,所有模拟数据现在都包含必需的质量评分信息。