Files
Enterprise-Knowledge-Base/migrations/versioned/000014_storage_provider_config.down.sql
T
wizardchen dbab7b0405 feat: introduce storage provider configuration and enhance backward compatibility
- Added a new `StorageProviderConfig` struct to the `KnowledgeBase` for improved storage provider management, separating provider selection from storage credentials.
- Updated the `UnmarshalJSON` method to auto-populate `StorageProviderConfig` from the legacy `StorageConfig` for backward compatibility.
- Refactored various service methods to utilize the new storage provider configuration, ensuring a smooth transition from the legacy system.
- Implemented database migrations to add the `storage_provider_config` column and migrate existing data, maintaining compatibility with historical knowledge bases.

This update enhances the clarity and flexibility of storage configurations while ensuring compatibility with existing data structures.
2026-03-02 21:21:49 +08:00

17 lines
634 B
SQL

-- Rollback: copy provider back to cos_config if needed, then drop new column
UPDATE knowledge_bases
SET cos_config = jsonb_set(
COALESCE(cos_config, '{}'::jsonb),
'{provider}',
to_jsonb(storage_provider_config->>'provider')
)
WHERE storage_provider_config IS NOT NULL
AND storage_provider_config->>'provider' IS NOT NULL
AND storage_provider_config->>'provider' != ''
AND storage_provider_config->>'provider' != '__pending_env__'
AND (cos_config IS NULL
OR cos_config->>'provider' IS NULL
OR cos_config->>'provider' = '');
ALTER TABLE knowledge_bases DROP COLUMN IF EXISTS storage_provider_config;