问答记录
AIConfig 与 User 强关联时外键约束违规的排查与修复
创建于 2026/7/15更新于 2026/7/15
PostgreSQL
Foreign Key
Prisma
AIConfig
踩坑
## 问题描述 保存 AI Config 时报错: ``` Foreign key constraint failed on the field: `ai_config_userId_fkey` ``` ## 根本原因 前端硬编码 userId: 'system',但数据库中不存在该用户。 ## 解决方案 1. 创建共享常量文件 src/constants/user.ts,定义 FIXED_USER_ID 2. 所有使用 userId 的地方统一引用此常量 3. 在 Server Action 中添加用户存在性验证 4. 确保数据库 seed 脚本创建正确的测试用户 ## 关键代码示例 ```typescript // src/constants/user.ts export const FIXED_USER_ID = "550e8400-e29b-41d4-a716-446655440000"; // src/server/actions/ai-config.ts const userExists = await prisma.user.findUnique({ where: { id: validated.userId }, }); if (!userExists) { throw new Error("用户不存在,请重新登录"); } ```
关联知识资产
QA
资产 ID: daaa3550-14fa-47fe-a3d2-2548092b7ba8