topfans/backend/scripts/migrate_exhibition_remove_unique_constraint.sql
zerosaturation c5bf9df955 feat: 经济系统重构 - 任务服务与画廊服务解耦
- galleryService 独立启动,配置 task-service-url
- 新增 taskService 到 galleryService 的 RPC 调用
- 更新 proto 文件并重新生成代码
- 新增展览唯一约束迁移脚本
- 修复多个 service 的配置和依赖关系

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-15 23:12:02 +08:00

38 lines
1.2 KiB
SQL

-- ============================================
-- 展览表索引和外键修改
-- 移除 asset_id 的唯一约束,改为普通索引
-- 执行方式: psql -h <host> -U <user> -d <db> -f backend/scripts/migrate_exhibition_remove_unique_constraint.sql
-- 创建日期: 2026-05-15
-- ============================================
-- 1. 移除 asset_id 的唯一约束
ALTER TABLE exhibitions DROP CONSTRAINT IF EXISTS uk_asset;
-- 2. 添加普通索引(如果不存在)
CREATE INDEX IF NOT EXISTS idx_asset ON exhibitions(asset_id);
-- 3. 确认修改结果
DO $$
BEGIN
-- 检查唯一约束是否已移除
IF NOT EXISTS (
SELECT 1 FROM pg_constraint WHERE conname = 'uk_asset'
) THEN
RAISE NOTICE '唯一约束 uk_asset 已成功移除';
ELSE
RAISE WARNING '唯一约束 uk_asset 仍然存在';
END IF;
-- 检查索引是否已创建
IF EXISTS (
SELECT 1 FROM pg_indexes WHERE indexname = 'idx_asset'
) THEN
RAISE NOTICE '索引 idx_asset 已成功创建';
ELSE
RAISE WARNING '索引 idx_asset 创建失败';
END IF;
END $$;
-- ============================================
-- 完成
-- ============================================