2.8 KiB
2.8 KiB
问题解决:数据库表名前缀
问题原因
数据库中的实际表名是 nf_generation_tasks(带 nf_ 前缀),但查询时使用了 generation_task(无前缀)。
错误信息
1146 - Table 'fastadmin.generation_task' doesn't exist
正确的表名
根据代码和数据库结构:
- 实际表名:
nf_generation_tasks - 模型定义:
lover/models.py中__tablename__ = "nf_generation_tasks"
正确的SQL查询
查询任务详情
SELECT
id,
user_id,
lover_id,
status,
error_msg,
JSON_PRETTY(payload) as payload_detail,
created_at,
updated_at
FROM nf_generation_tasks
WHERE id = 382;
查询最近的失败任务
SELECT
id,
user_id,
lover_id,
task_type,
status,
error_msg,
created_at,
updated_at
FROM nf_generation_tasks
WHERE task_type = 'video'
AND status = 'failed'
ORDER BY id DESC
LIMIT 10;
查询任务382附近的任务
SELECT
id,
user_id,
lover_id,
task_type,
status,
error_msg,
created_at
FROM nf_generation_tasks
WHERE id BETWEEN 380 AND 390
ORDER BY id;
查询所有视频任务的统计
SELECT
status,
COUNT(*) as count,
MAX(created_at) as last_time
FROM nf_generation_tasks
WHERE task_type = 'video'
GROUP BY status;
从数据库导出看到的信息
根据数据库导出文件,最近的任务记录:
- 最大ID:380(AUTO_INCREMENT=381)
- 任务类型:image, video, outfit, voice
- 视频任务对应唱歌功能
实际情况
从数据库导出可以看到:
- 任务262-264:失败,错误信息 "Input data may contain inappropriate content."(内容安全审核失败)
- 任务268, 270:成功,但标记了
content_safety_blocked: true - 任务272-305:大部分成功
常见失败原因
1. 内容安全审核失败
错误信息:Input data may contain inappropriate content.
这是阿里云DashScope的内容安全机制,可能原因:
- 歌词内容敏感
- 人物形象不合规
- 音频内容触发审核
解决方案:
- 更换其他歌曲
- 检查恋人形象
- 联系阿里云客服了解具体原因
2. 任务不存在(ID 382)
从数据库看,最大任务ID是380,所以任务382确实不存在。可能:
- 截图中的382是其他系统的ID
- 或者是前端显示的临时ID
下一步操作
- 使用正确的表名查询数据库
- 查看最近的失败任务(262-264, 266)
- 了解内容安全审核的具体原因
- 如需重试,使用重试接口
重试失败任务的SQL
-- 查看失败任务的详细信息
SELECT
id,
JSON_PRETTY(payload) as payload,
error_msg
FROM nf_generation_tasks
WHERE id IN (262, 263, 264, 266)
AND status = 'failed';