将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
@@ -9,7 +9,7 @@ from pydantic import BaseModel
from sync_state_machine.config.multi_project_config import build_multi_project_config_from_file
from sync_state_machine.common.binding import BindingManager
from sync_state_machine.common.collection import DataCollection
from sync_state_machine.common.persistence import PersistenceBackend
from sync_state_machine.common.sqlite_backend import SQLitePersistenceBackend
from sync_state_machine.common.sync_node import SyncNode
from sync_state_machine.pipeline.multi_project_pipeline import (
_project_scope_overrides,
@@ -88,7 +88,7 @@ class _ProjectNode(SyncNode[dict]):
@pytest.mark.asyncio
async def test_binding_manager_prunes_stale_bindings_after_project_scope_cleanup() -> None:
persistence = PersistenceBackend(":memory:")
persistence = SQLitePersistenceBackend(":memory:")
await persistence.initialize()
try:
local_collection = DataCollection("local", persistence=persistence, auto_persist=False)