taolib.testing.data_sync.models

目录

taolib.testing.data_sync.models#

数据同步模型。

导出所有 Pydantic 模型和枚举。

Submodules#

Classes#

SyncCheckpoint

同步检查点模型。

FailureAction

失败处理动作。

SyncMode

同步模式。

SyncScope

同步范围。

SyncStatus

同步状态。

FailureRecordDocument

失败记录文档模型。

SyncConnectionConfig

数据库连接配置。

SyncJobCreate

创建同步作业的输入模型。

SyncJobDocument

同步作业的 MongoDB 文档模型。

SyncJobResponse

同步作业的 API 响应模型。

SyncJobUpdate

更新同步作业的输入模型(所有字段可选)。

SyncLogCreate

创建同步日志的输入模型。

SyncLogDocument

同步日志的 MongoDB 文档模型。

SyncLogResponse

同步日志的 API 响应模型。

SyncMetrics

同步指标。

Package Contents#

class taolib.testing.data_sync.models.SyncCheckpoint#

Bases: pydantic.BaseModel

同步检查点模型。

id: str#
job_id: str#
collection_name: str#
last_synced_timestamp: datetime.datetime | None#
last_synced_id: str | None#
total_synced: int#
updated_at: datetime.datetime#
model_config#
class taolib.testing.data_sync.models.FailureAction#

Bases: enum.StrEnum

失败处理动作。

SKIP = 'skip'#
RETRY = 'retry'#
ABORT = 'abort'#
class taolib.testing.data_sync.models.SyncMode#

Bases: enum.StrEnum

同步模式。

FULL = 'full'#
INCREMENTAL = 'incremental'#
class taolib.testing.data_sync.models.SyncScope#

Bases: enum.StrEnum

同步范围。

CONFIG_CENTER = 'config_center'#
DATABASE = 'database'#
FULL = 'full'#
class taolib.testing.data_sync.models.SyncStatus#

Bases: enum.StrEnum

同步状态。

PENDING = 'pending'#
RUNNING = 'running'#
COMPLETED = 'completed'#
FAILED = 'failed'#
CANCELLED = 'cancelled'#
class taolib.testing.data_sync.models.FailureRecordDocument#

Bases: pydantic.BaseModel

失败记录文档模型。

id: str#
job_id: str#
log_id: str#
collection_name: str#
document_id: str#
phase: str#
error_type: str#
error_message: str#
document_snapshot: dict | None#
retry_count: int#
created_at: datetime.datetime#
model_config#
class taolib.testing.data_sync.models.SyncConnectionConfig#

Bases: pydantic.BaseModel

数据库连接配置。

mongo_url: str = 'mongodb://localhost:27017'#
database: str#
collections: list[str] | None = None#
class taolib.testing.data_sync.models.SyncJobCreate#

Bases: SyncJobBase

创建同步作业的输入模型。

class taolib.testing.data_sync.models.SyncJobDocument#

Bases: SyncJobBase

同步作业的 MongoDB 文档模型。

id: str#
created_by: str = 'system'#
updated_by: str = 'system'#
created_at: datetime.datetime#
updated_at: datetime.datetime#
last_run_at: datetime.datetime | None = None#
last_run_status: str | None = None#
model_config#
to_response() SyncJobResponse#

转换为 API 响应。

class taolib.testing.data_sync.models.SyncJobResponse#

Bases: SyncJobBase

同步作业的 API 响应模型。

id: str#
created_by: str#
updated_by: str#
created_at: datetime.datetime#
updated_at: datetime.datetime#
last_run_at: datetime.datetime | None = None#
last_run_status: str | None = None#
model_config#
class taolib.testing.data_sync.models.SyncJobUpdate#

Bases: pydantic.BaseModel

更新同步作业的输入模型(所有字段可选)。

description: str | None = None#
scope: taolib.testing.data_sync.models.enums.SyncScope | None = None#
mode: taolib.testing.data_sync.models.enums.SyncMode | None = None#
source: SyncConnectionConfig | None = None#
target: SyncConnectionConfig | None = None#
transform_module: str | None = None#
field_mapping: dict[str, str] | None = None#
filter_query: dict[str, Any] | None = None#
schedule_cron: str | None = None#
batch_size: int | None = None#
failure_action: taolib.testing.data_sync.models.enums.FailureAction | None = None#
max_retries: int | None = None#
enabled: bool | None = None#
tags: list[str] | None = None#
class taolib.testing.data_sync.models.SyncLogCreate#

Bases: SyncLogBase

创建同步日志的输入模型。

class taolib.testing.data_sync.models.SyncLogDocument#

Bases: SyncLogBase

同步日志的 MongoDB 文档模型。

id: str#
model_config#
to_response() SyncLogResponse#

转换为 API 响应。

class taolib.testing.data_sync.models.SyncLogResponse#

Bases: SyncLogBase

同步日志的 API 响应模型。

id: str#
model_config#
class taolib.testing.data_sync.models.SyncMetrics#

Bases: pydantic.BaseModel

同步指标。

total_extracted: int = 0#
total_transformed: int = 0#
total_loaded: int = 0#
total_skipped: int = 0#
total_failed: int = 0#
bytes_transferred: int = 0#