015_fix_settings_unique_constraint.sql 573 B

12345678910111213141516171819
  1. -- 015_fix_settings_unique_constraint.sql
  2. -- 修复 settings 表 key 字段缺失的唯一约束
  3. -- 此约束是 ON CONFLICT ("key") DO UPDATE 语句所必需的
  4. -- 检查并添加唯一约束(如果不存在)
  5. DO $$
  6. BEGIN
  7. -- 检查是否已存在唯一约束
  8. IF NOT EXISTS (
  9. SELECT 1 FROM pg_constraint
  10. WHERE conrelid = 'settings'::regclass
  11. AND contype = 'u'
  12. AND conname = 'settings_key_key'
  13. ) THEN
  14. -- 添加唯一约束
  15. ALTER TABLE settings ADD CONSTRAINT settings_key_key UNIQUE (key);
  16. END IF;
  17. END
  18. $$;