| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- -- Migration: 137_channel_monitor_openai_api_mode
- -- 为渠道监控和请求模板增加 OpenAI 协议模式:
- -- chat_completions -> /v1/chat/completions + messages
- -- responses -> /v1/responses + instructions/input
- -- 历史数据默认保持 chat_completions,避免改变现有监控行为。
- ALTER TABLE channel_monitors
- ADD COLUMN IF NOT EXISTS api_mode VARCHAR(32) NOT NULL DEFAULT 'chat_completions';
- ALTER TABLE channel_monitor_request_templates
- ADD COLUMN IF NOT EXISTS api_mode VARCHAR(32) NOT NULL DEFAULT 'chat_completions';
- DO $$
- BEGIN
- IF NOT EXISTS (
- SELECT 1 FROM information_schema.table_constraints
- WHERE constraint_name = 'channel_monitors_api_mode_check'
- AND table_name = 'channel_monitors'
- ) THEN
- ALTER TABLE channel_monitors
- ADD CONSTRAINT channel_monitors_api_mode_check
- CHECK (api_mode IN ('chat_completions', 'responses'));
- END IF;
- IF NOT EXISTS (
- SELECT 1 FROM information_schema.table_constraints
- WHERE constraint_name = 'channel_monitor_request_templates_api_mode_check'
- AND table_name = 'channel_monitor_request_templates'
- ) THEN
- ALTER TABLE channel_monitor_request_templates
- ADD CONSTRAINT channel_monitor_request_templates_api_mode_check
- CHECK (api_mode IN ('chat_completions', 'responses'));
- END IF;
- END $$;
- CREATE INDEX IF NOT EXISTS idx_channel_monitors_provider_api_mode
- ON channel_monitors (provider, api_mode);
- CREATE INDEX IF NOT EXISTS idx_channel_monitor_templates_provider_api_mode
- ON channel_monitor_request_templates (provider, api_mode);
|