/** * Schema迁移工具 * * 处理知识图谱schema版本升级 */ import type { IndexMetadata } from '../types/indexMetadata.js'; /** * 当前schema版本 */ export declare const CURRENT_SCHEMA_VERSION = 2; /** * Schema版本历史 */ export declare const SCHEMA_VERSIONS: { readonly V1: 1; readonly V2: 2; }; /** * Schema版本信息 */ export interface SchemaVersionInfo { version: number; name: string; description: string; predicates: string[]; features: string[]; } /** * 迁移策略 */ export type MigrationStrategy = 'rebuild' | 'warn' | 'auto'; /** * 迁移结果 */ export interface MigrationResult { success: boolean; fromVersion: number; toVersion: number; strategy: MigrationStrategy; message: string; } /** * Schema兼容性检查结果 */ export interface CompatibilityCheck { isCompatible: boolean; currentVersion: number; expectedVersion: number; needsMigration: boolean; canAutoMigrate: boolean; message: string; } /** * 获取schema版本信息 */ export declare function getSchemaVersionInfo(version: number): SchemaVersionInfo; /** * 检查schema兼容性 */ export declare function checkCompatibility(metadata: IndexMetadata): CompatibilityCheck; /** * 执行schema迁移 * * @param metadata 当前索引元数据 * @param strategy 迁移策略 * @param rebuildFn 重建索引的函数 */ export declare function migrate(metadata: IndexMetadata, strategy?: MigrationStrategy, rebuildFn?: () => Promise): Promise; /** * 获取迁移建议 */ export declare function getMigrationAdvice(metadata: IndexMetadata): string; /** * 检查是否需要自动迁移 */ export declare function shouldAutoMigrate(metadata: IndexMetadata, autoMigrateEnabled?: boolean): boolean;