新增 Aliyun OSS 与 S3 协议、通道内重试和按优先级跨通道切换,保留 server-main 兼容与环境 OSS 内存通道。 将请求及结果中的 Base64、Data URI、Buffer、multipart 和内联二进制统一对象化,生产路径不再写入本机静态目录,历史本地资源仅保留只读兼容。 引入 PublicErrorV1 并统一 API、异步查询、兼容协议和失败回调的安全错误输出,同时补充迁移、管理端、指标、OpenAPI 与本地模拟验收。 验证:go test ./... -count=1;go vet ./...;pnpm lint;pnpm test;pnpm build;pnpm openapi;tests/ci/migrations-test.sh。
22 lines
931 B
SQL
22 lines
931 B
SQL
ALTER TABLE gateway_request_assets
|
|
ADD COLUMN IF NOT EXISTS storage_channel_id uuid REFERENCES file_storage_channels(id) ON DELETE SET NULL,
|
|
ADD COLUMN IF NOT EXISTS storage_channel_key text,
|
|
ADD COLUMN IF NOT EXISTS object_key text,
|
|
ADD COLUMN IF NOT EXISTS access_scope text DEFAULT 'private';
|
|
|
|
ALTER TABLE gateway_tasks
|
|
ADD COLUMN IF NOT EXISTS public_error jsonb;
|
|
|
|
ALTER TABLE gateway_task_attempts
|
|
ADD COLUMN IF NOT EXISTS public_error jsonb;
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_gateway_request_assets_object
|
|
ON gateway_request_assets(storage_channel_key, object_key)
|
|
WHERE object_key IS NOT NULL;
|
|
|
|
UPDATE system_settings
|
|
SET value = jsonb_set(COALESCE(value, '{}'::jsonb), '{resultUploadPolicy}', '"default"'::jsonb, true),
|
|
updated_at = now()
|
|
WHERE setting_key = 'file_storage'
|
|
AND COALESCE(value->>'resultUploadPolicy', '') IN ('upload_none', 'none', 'never', 'disabled', 'no_upload', 'skip', 'skip_all');
|