-- ============================================ -- 展览表索引和外键修改 -- 移除 asset_id 的唯一约束,改为普通索引 -- 执行方式: psql -h -U -d -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 $$; -- ============================================ -- 完成 -- ============================================