Files
mcp-auth/sql/upgrade_service_url.sql
T
2026-09-02 17:31:52 +08:00

34 lines
1.2 KiB
SQL

-- ============================================================
-- mcp_service 表升级脚本:添加 MCP 服务地址字段(唯一约束)
-- 适用:已部署的 mcp_auth 库(幂等可重跑)
-- ============================================================
-- 1. 添加 service_url 列(允许 NULL,便于已有数据平滑过渡)
ALTER TABLE mcp_service
ADD COLUMN IF NOT EXISTS service_url VARCHAR(255);
-- 2. 为已有记录回填 service_url(按服务名推断默认地址,可按实际环境修改)
UPDATE mcp_service
SET service_url = 'http://10.100.154.100:' || (CASE service_name
WHEN 'erp' THEN '8001'
WHEN 'crm' THEN '8002'
ELSE '8000' END) || '/mcp'
WHERE service_url IS NULL;
-- 3. 设置为 NOT NULL
ALTER TABLE mcp_service
ALTER COLUMN service_url SET NOT NULL;
-- 4. 添加唯一约束(幂等:先检查约束是否存在)
DO $$
BEGIN
IF NOT EXISTS (
SELECT 1 FROM pg_constraint
WHERE conname = 'uk_mcp_service_url'
AND conrelid = 'mcp_service'::regclass
) THEN
ALTER TABLE mcp_service
ADD CONSTRAINT uk_mcp_service_url UNIQUE (service_url);
END IF;
END $$;