将persist和后端分离,方便替换为其他数据库

This commit is contained in:
strepsiades
2026-03-24 10:15:16 +08:00
parent 7d92b3f1fe
commit 03a22b0c1c
19 changed files with 665 additions and 471 deletions
+2 -5
View File
@@ -21,7 +21,7 @@ from typing import Any, Dict, List, Optional
from ..common.binding import BindingManager
from ..common.collection import DataCollection
from ..common.persistence import PersistenceBackend
from ..common.persistence import PersistenceBackend, create_persistence_backend
from ..common.registry import DomainRegistry
from ..datasource import ensure_builtin_datasource_types_registered
from ..datasource.type_registry import get_datasource_factory
@@ -292,9 +292,6 @@ async def create_pipeline_from_config(
all_types = list(config.node_types)
strategy_map = _resolve_strategy_map(config, all_types)
if config.persist.backend != "sqlite":
raise NotImplementedError(f"Persistence backend not supported yet: {config.persist.backend}")
db_path = Path(config.persist.db_path)
if config.persist.wipe_on_start and db_path.exists():
db_path.unlink()
@@ -303,7 +300,7 @@ async def create_pipeline_from_config(
local_ds = None
remote_ds = None
try:
persistence = PersistenceBackend(str(config.persist.db_path), backend=config.persist.backend)
persistence = create_persistence_backend(config.persist)
await persistence.initialize()
local_ds = await _create_datasource(