Implement intelligent legacy collection detection to support multiple
naming patterns from older LightRAG versions:
1. lightrag_vdb_{namespace} - Current legacy format
2. {workspace}_{namespace} - Old format with workspace
3. {namespace} - Old format without workspace
This ensures users can seamlessly upgrade from any previous version
without manual data migration.
Also add comprehensive test coverage for all migration scenarios:
- Case 1: Both new and legacy exist (warning)
- Case 2: Only new exists (already migrated)
- Backward compatibility with old workspace naming
- Backward compatibility with no-workspace naming
- Empty legacy collection handling
- Workspace isolation verification
- Model switching scenario
Testing:
- All 15 migration tests pass
- No breaking changes to existing tests
- Verified with: pytest tests/test_*migration*.py -v
|
||
|---|---|---|
| .. | ||
| conftest.py | ||
| README_WORKSPACE_ISOLATION_TESTS.md | ||
| test_aquery_data_endpoint.py | ||
| test_base_storage_integrity.py | ||
| test_curl_aquery_data.sh | ||
| test_e2e_multi_instance.py | ||
| test_embedding_func.py | ||
| test_graph_storage.py | ||
| test_lightrag_ollama_chat.py | ||
| test_migration_complete.py | ||
| test_postgres_migration.py | ||
| test_postgres_retry_integration.py | ||
| test_qdrant_migration.py | ||
| test_workspace_isolation.py | ||
| test_write_json_optimization.py | ||