-- ============================================
-- 展览表索引和外键修改
-- 移除 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 $$;

-- ============================================
-- 完成
-- ============================================