feat(database-migrations): implement database migration manager and related components
- Add DatabaseMigrationManager for orchestrating database migrations, including planning and executing migration steps. - Introduce models for migration state, execution context, and migration steps. - Implement MigrationPlanner to generate migration plans based on current and target versions. - Create MigrationRegistry for registering and managing migration steps. - Develop SchemaVersionResolver to determine the current database schema version. - Add SQLiteSchemaInspector for inspecting SQLite database structures. - Implement progress reporting tools using rich for visualizing migration progress. - Introduce SQLiteUserVersionStore for managing schema version storage in SQLite.
This commit is contained in:
79
src/common/database/migrations/__init__.py
Normal file
79
src/common/database/migrations/__init__.py
Normal file
@@ -0,0 +1,79 @@
|
||||
"""数据库迁移基础设施导出模块。"""
|
||||
|
||||
from .bootstrap import DatabaseMigrationBootstrapper, create_database_migration_bootstrapper
|
||||
from .builtin import (
|
||||
EMPTY_SCHEMA_VERSION,
|
||||
LATEST_SCHEMA_VERSION,
|
||||
LEGACY_V1_SCHEMA_VERSION,
|
||||
build_default_migration_registry,
|
||||
build_default_schema_version_resolver,
|
||||
)
|
||||
from .exceptions import (
|
||||
DatabaseMigrationConfigurationError,
|
||||
DatabaseMigrationError,
|
||||
DatabaseMigrationExecutionError,
|
||||
DatabaseMigrationPlanningError,
|
||||
DatabaseMigrationVersionError,
|
||||
MissingMigrationStepError,
|
||||
UnrecognizedDatabaseSchemaError,
|
||||
UnsupportedMigrationDirectionError,
|
||||
)
|
||||
from .manager import DatabaseMigrationManager
|
||||
from .models import (
|
||||
ColumnSchema,
|
||||
DatabaseMigrationState,
|
||||
DatabaseSchemaSnapshot,
|
||||
MigrationExecutionContext,
|
||||
MigrationPlan,
|
||||
MigrationStep,
|
||||
ResolvedSchemaVersion,
|
||||
SchemaVersionSource,
|
||||
TableSchema,
|
||||
)
|
||||
from .planner import MigrationPlanner
|
||||
from .progress import (
|
||||
BaseMigrationProgressReporter,
|
||||
RichMigrationProgressReporter,
|
||||
create_rich_migration_progress_reporter,
|
||||
)
|
||||
from .registry import MigrationRegistry
|
||||
from .resolver import BaseSchemaVersionDetector, SchemaVersionResolver
|
||||
from .schema import SQLiteSchemaInspector
|
||||
from .version_store import SQLiteUserVersionStore
|
||||
|
||||
__all__ = [
|
||||
"BaseSchemaVersionDetector",
|
||||
"BaseMigrationProgressReporter",
|
||||
"build_default_migration_registry",
|
||||
"build_default_schema_version_resolver",
|
||||
"ColumnSchema",
|
||||
"create_database_migration_bootstrapper",
|
||||
"create_rich_migration_progress_reporter",
|
||||
"DatabaseMigrationConfigurationError",
|
||||
"DatabaseMigrationError",
|
||||
"DatabaseMigrationBootstrapper",
|
||||
"DatabaseMigrationExecutionError",
|
||||
"DatabaseMigrationManager",
|
||||
"DatabaseMigrationPlanningError",
|
||||
"DatabaseMigrationState",
|
||||
"DatabaseMigrationVersionError",
|
||||
"DatabaseSchemaSnapshot",
|
||||
"EMPTY_SCHEMA_VERSION",
|
||||
"LATEST_SCHEMA_VERSION",
|
||||
"LEGACY_V1_SCHEMA_VERSION",
|
||||
"MigrationExecutionContext",
|
||||
"MigrationPlan",
|
||||
"MigrationPlanner",
|
||||
"MigrationRegistry",
|
||||
"MigrationStep",
|
||||
"MissingMigrationStepError",
|
||||
"ResolvedSchemaVersion",
|
||||
"RichMigrationProgressReporter",
|
||||
"SchemaVersionResolver",
|
||||
"SchemaVersionSource",
|
||||
"SQLiteSchemaInspector",
|
||||
"SQLiteUserVersionStore",
|
||||
"TableSchema",
|
||||
"UnrecognizedDatabaseSchemaError",
|
||||
"UnsupportedMigrationDirectionError",
|
||||
]
|
||||
Reference in New Issue
Block a user