27 lines
1004 B
SQL
27 lines
1004 B
SQL
-- 快速修复脚本:修复 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';
|