-- 快速修复脚本:修复 user_scenarios 表约束 -- 在生产 PostgreSQL 容器中执行此文件 -- 1. 允许 description 为空 ALTER TABLE user_scenarios ALTER COLUMN description DROP NOT NULL; -- 2. 修复 prompt 长度约束(从 50 改为 10,与代码一致) ALTER TABLE user_scenarios DROP CONSTRAINT IF EXISTS check_prompt_length; ALTER TABLE user_scenarios ADD CONSTRAINT check_prompt_length CHECK (char_length(prompt) >= 10 AND char_length(prompt) <= 2000); -- 更新注释 COMMENT ON COLUMN user_scenarios.description IS '简短描述,可选,显示在情景卡片上(允许为空)'; COMMENT ON COLUMN user_scenarios.prompt IS '角色 System Prompt,定义 AI 行为(10-2000 字符)'; -- 验证修改 SELECT con.conname AS constraint_name, pg_get_constraintdef(con.oid) AS constraint_definition FROM pg_constraint con JOIN pg_class rel ON rel.oid = con.conrelid WHERE rel.relname = 'user_scenarios' AND con.conname = 'check_prompt_length';