core.config_migration_tool

配置迁移工具

提供配置格式升级、数据迁移、兼容性转换和自动迁移功能。 支持多版本配置格式间的转换和向后兼容性处理。

Functions

check_migration_needed(config_path)

检查是否需要迁移

migrate_config_file(config_path[, ...])

便捷函数:迁移配置文件

Classes

ConfigMigrationTool()

配置迁移工具

MigrationResult(status, from_version, ...[, ...])

迁移结果

MigrationRule(from_version, to_version, ...)

迁移规则基类

MigrationStatus(value)

迁移状态

PathRenameRule(from_version, to_version, ...)

路径重命名规则

StructureRule(from_version, to_version, ...)

结构转换规则

ValueTransformRule(from_version, to_version, ...)

值转换规则

class core.config_migration_tool.MigrationStatus(value)[source]

Bases: Enum

迁移状态

PENDING = 'pending'
IN_PROGRESS = 'in_progress'
COMPLETED = 'completed'
FAILED = 'failed'
SKIPPED = 'skipped'
class core.config_migration_tool.MigrationResult(status, from_version, to_version, messages, warnings, errors, migrated_paths, backup_path=None)[source]

Bases: object

迁移结果

status: MigrationStatus
from_version: str
to_version: str
messages: List[str]
warnings: List[str]
errors: List[str]
migrated_paths: List[str]
backup_path: str | None = None
to_dict()[source]
__init__(status, from_version, to_version, messages, warnings, errors, migrated_paths, backup_path=None)
class core.config_migration_tool.MigrationRule(from_version, to_version, name, description)[source]

Bases: object

迁移规则基类

__init__(from_version, to_version, name, description)[source]
can_migrate(config)[source]

检查是否可以迁移

migrate(config)[source]

执行迁移,返回 (新配置, 消息, 警告)

class core.config_migration_tool.PathRenameRule(from_version, to_version, path_mappings)[source]

Bases: MigrationRule

路径重命名规则

__init__(from_version, to_version, path_mappings)[source]
can_migrate(config)[source]

检查是否有需要重命名的路径

migrate(config)[source]

执行路径重命名

class core.config_migration_tool.ValueTransformRule(from_version, to_version, path, transform_func, description=None)[source]

Bases: MigrationRule

值转换规则

__init__(from_version, to_version, path, transform_func, description=None)[source]
can_migrate(config)[source]

检查是否需要转换

migrate(config)[source]

执行值转换

class core.config_migration_tool.StructureRule(from_version, to_version, structure_func, description=None)[source]

Bases: MigrationRule

结构转换规则

__init__(from_version, to_version, structure_func, description=None)[source]
can_migrate(config)[source]

总是可以执行结构转换

migrate(config)[source]

执行结构转换

class core.config_migration_tool.ConfigMigrationTool[source]

Bases: object

配置迁移工具

__init__()[source]
migration_rules: List[MigrationRule]
add_rule(rule)[source]

添加迁移规则

detect_config_version(config)[source]

检测配置版本

get_migration_path(from_version, to_version)[source]

Return all rules along an exact supported ascending transition path.

migrate_config(config, target_version=None, backup_path=None)[source]

Migrate once and return the existing public result schema.

migrate_config_file(config_path, target_version=None, backup=True)[source]

迁移配置文件

validate_migration(original_config, migrated_config)[source]

验证迁移结果

get_available_versions()[source]

获取可用版本列表

core.config_migration_tool.migrate_config_file(config_path, target_version=None)[source]

便捷函数:迁移配置文件

core.config_migration_tool.check_migration_needed(config_path)[source]

检查是否需要迁移