UNPKG

cs-element

Version:

Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support

90 lines 3.02 kB
/** * Менеджер миграций для CSElement * Поддерживает версионирование схем и автоматическое применение миграций */ import { EventEmitter } from 'events'; import { TypedElementManager } from '../typed-elements/TypedElementManager'; import { IMigration, IMigrationManager, IMigrationStorage, IVersionUtils, MigrationPlan, MigrationRecord, MigrationResult, SchemaMigrationConfig, DataMigrationConfig } from '../types/migration-interfaces'; /** * Реализация менеджера миграций */ export declare class MigrationManager extends EventEmitter implements IMigrationManager { private migrations; private storage; private versionUtils; private typedElementManager?; constructor(storage: IMigrationStorage, versionUtils: IVersionUtils); /** * Установка менеджера типизированных элементов */ setTypedElementManager(manager: TypedElementManager): void; /** * Регистрация миграции */ registerMigration(migration: IMigration): void; /** * Получение всех миграций */ getMigrations(): IMigration[]; /** * Получение миграции по ID */ getMigration(id: string): IMigration | undefined; /** * Получение истории миграций */ getHistory(): Promise<MigrationRecord[]>; /** * Получение текущей версии */ getCurrentVersion(): Promise<string>; /** * Создание плана миграции */ createPlan(targetVersion: string): Promise<MigrationPlan>; /** * Применение миграций */ migrate(targetVersion?: string): Promise<MigrationResult[]>; /** * Откат миграций */ rollback(targetVersion?: string): Promise<MigrationResult[]>; /** * Проверка состояния миграций */ checkStatus(): Promise<{ currentVersion: string; pendingMigrations: string[]; lastMigration: MigrationRecord; }>; /** * Создание миграции схемы */ createSchemaMigration(config: SchemaMigrationConfig): IMigration; /** * Создание миграции данных */ createDataMigration(config: DataMigrationConfig & { id: string; version: string; description: string; }): IMigration; /** * Валидация целостности */ validateIntegrity(): Promise<boolean>; /** * Сброс состояния миграций */ reset(): Promise<void>; /** * Выполнение миграции */ private executeMigration; /** * Разрешение зависимостей миграций */ private resolveDependencies; } //# sourceMappingURL=MigrationManager.d.ts.map