Skip to content

@codesoul-co/hypha-memory / memory-data-migration

模块用法

用于使用该功能边界的公共契约与操作。Memory data migration 模块公开 2 类、1 函数、5 接口。

从包入口导入

ts
import {
  MemoryDataMigrationCoordinator,
  StructuredMemoryDataMigrationStateStore,
  migrationPlanHash,
} from '@codesoul-co/hypha-memory';

import type {
  MemoryDataMigrationCoordinatorOptions,
  MemoryDataMigrationPlan,
  MemoryDataMigrationState,
  MemoryDataMigrationStateStore,
  MemoryDataMigrationStep,
} from '@codesoul-co/hypha-memory';

使用要点

  • 5 个类型/接口用于应用代码、Adapter 或测试中的静态契约;请使用 import type,运行时不应依赖它们。
  • 2 个类提供可实例化的运行时实现;构造参数与公开方法在各自条目中完整列出。
  • 1 个函数是该模块的直接操作入口;每个 overload 的必需/可选参数与返回类型均在下方列出。

公共导出

Symbol种类签名说明
MemoryDataMigrationCoordinatornew MemoryDataMigrationCoordinator(options: MemoryDataMigrationCoordinatorOptions): MemoryDataMigrationCoordinatorResumable migration/rollback runner. Step implementations remain with the data owner.
StructuredMemoryDataMigrationStateStorenew StructuredMemoryDataMigrationStateStore(store: StructuredStoreProvider, table?: string): StructuredMemoryDataMigrationStateStoreStructured Memory Data Migration State Store 类,共公开 3 个构造函数或成员;精确签名见本条目的声明与成员表。
migrationPlanHash函数migrationPlanHash(plan: MemoryDataMigrationPlan): stringMigration Plan Hash 函数,提供 1 个公开调用签名;参数与返回类型见下表。
MemoryDataMigrationCoordinatorOptions接口interface MemoryDataMigrationCoordinatorOptionsMemory Data Migration Coordinator Options 接口,共包含 2 个公开字段或方法。
MemoryDataMigrationPlan接口interface MemoryDataMigrationPlanMemory Data Migration Plan 接口,共包含 5 个公开字段或方法。
MemoryDataMigrationState接口interface MemoryDataMigrationStateMemory Data Migration State 接口,共包含 9 个公开字段或方法。
MemoryDataMigrationStateStore接口interface MemoryDataMigrationStateStoreMemory Data Migration State Store 接口,共包含 2 个公开字段或方法。
MemoryDataMigrationStep接口interface MemoryDataMigrationStepMemory Data Migration Step 接口,共包含 3 个公开字段或方法。

MemoryDataMigrationCoordinator

Resumable migration/rollback runner. Step implementations remain with the data owner.

  • 种类: 类
  • 导入: import { MemoryDataMigrationCoordinator } from '@codesoul-co/hypha-memory';
  • 源码模块: memory-data-migration

声明

text
export declare class MemoryDataMigrationCoordinator {
    constructor(options: MemoryDataMigrationCoordinatorOptions);
    apply(plan: MemoryDataMigrationPlan): Promise<MemoryDataMigrationState>;
    rollback(plan: MemoryDataMigrationPlan): Promise<MemoryDataMigrationState>;
}

公开成员

成员种类签名说明
apply方法apply(plan: MemoryDataMigrationPlan): Promise<MemoryDataMigrationState>公开方法;参数与返回类型以签名列为准。
constructor构造函数(options: MemoryDataMigrationCoordinatorOptions): MemoryDataMigrationCoordinator创建该类的实例。
rollback方法rollback(plan: MemoryDataMigrationPlan): Promise<MemoryDataMigrationState>公开方法;参数与返回类型以签名列为准。

StructuredMemoryDataMigrationStateStore

Structured Memory Data Migration State Store 类,共公开 3 个构造函数或成员;精确签名见本条目的声明与成员表。

  • 种类: 类
  • 导入: import { StructuredMemoryDataMigrationStateStore } from '@codesoul-co/hypha-memory';
  • 源码模块: memory-data-migration

声明

text
export declare class StructuredMemoryDataMigrationStateStore implements MemoryDataMigrationStateStore {
    constructor(store: StructuredStoreProvider, table?: string);
    get(planId: string): Promise<MemoryDataMigrationState | null>;
    save(state: MemoryDataMigrationState): Promise<void>;
}

公开成员

成员种类签名说明
constructor构造函数(store: StructuredStoreProvider, table?: string): StructuredMemoryDataMigrationStateStore创建该类的实例。
get方法get(planId: string): Promise<MemoryDataMigrationState | null>公开方法;参数与返回类型以签名列为准。
save方法save(state: MemoryDataMigrationState): Promise<void>公开方法;参数与返回类型以签名列为准。

migrationPlanHash

Migration Plan Hash 函数,提供 1 个公开调用签名;参数与返回类型见下表。

  • 种类: 函数
  • 导入: import { migrationPlanHash } from '@codesoul-co/hypha-memory';
  • 源码模块: memory-data-migration

声明

text
export declare function migrationPlanHash(plan: MemoryDataMigrationPlan): string;

调用签名

text
migrationPlanHash(plan: MemoryDataMigrationPlan): string

参数

参数类型必需说明
planMemoryDataMigrationPlan必需参数;接受的值由类型列定义。

返回值

  • 类型: string
  • 说明: 返回值契约由上述类型定义。

MemoryDataMigrationCoordinatorOptions

Memory Data Migration Coordinator Options 接口,共包含 2 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { MemoryDataMigrationCoordinatorOptions } from '@codesoul-co/hypha-memory';
  • 源码模块: memory-data-migration

声明

text
export interface MemoryDataMigrationCoordinatorOptions {
    stateStore: MemoryDataMigrationStateStore;
    now?: () => string;
}

契约成员

成员种类签名说明
now方法now?(): string公开方法;参数与返回类型以签名列为准。
stateStore属性stateStore: MemoryDataMigrationStateStore公开属性;类型、只读和可选状态以签名列为准。

MemoryDataMigrationPlan

Memory Data Migration Plan 接口,共包含 5 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { MemoryDataMigrationPlan } from '@codesoul-co/hypha-memory';
  • 源码模块: memory-data-migration

声明

text
export interface MemoryDataMigrationPlan {
    id: string;
    version: string;
    source: string;
    target: string;
    steps: readonly MemoryDataMigrationStep[];
}

契约成员

成员种类签名说明
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
source属性source: string公开属性;类型、只读和可选状态以签名列为准。
steps属性steps: readonly MemoryDataMigrationStep[]公开属性;类型、只读和可选状态以签名列为准。
target属性target: string公开属性;类型、只读和可选状态以签名列为准。
version属性version: string公开属性;类型、只读和可选状态以签名列为准。

MemoryDataMigrationState

Memory Data Migration State 接口,共包含 9 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { MemoryDataMigrationState } from '@codesoul-co/hypha-memory';
  • 源码模块: memory-data-migration

声明

text
export interface MemoryDataMigrationState {
    id: string;
    planId: string;
    planVersion: string;
    planHash: string;
    state: 'pending' | 'applying' | 'applied' | 'rolling_back' | 'rolled_back' | 'failed';
    appliedStepIds: string[];
    activeStepId?: string;
    lastError?: ReturnType<typeof normalizeMemoryError>;
    updatedAt: string;
}

契约成员

成员种类签名说明
activeStepId属性activeStepId?: string公开属性;类型、只读和可选状态以签名列为准。
appliedStepIds属性appliedStepIds: string[]公开属性;类型、只读和可选状态以签名列为准。
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
lastError属性lastError?: import("/Users/erwin/Downloads/codespace/Hypha/packages/memory/dist/contracts").NormalizedMemoryError公开属性;类型、只读和可选状态以签名列为准。
planHash属性planHash: string公开属性;类型、只读和可选状态以签名列为准。
planId属性planId: string公开属性;类型、只读和可选状态以签名列为准。
planVersion属性planVersion: string公开属性;类型、只读和可选状态以签名列为准。
state属性state: "failed" | "applied" | "pending" | "applying" | "rolling_back" | "rolled_back"公开属性;类型、只读和可选状态以签名列为准。
updatedAt属性updatedAt: string公开属性;类型、只读和可选状态以签名列为准。

MemoryDataMigrationStateStore

Memory Data Migration State Store 接口,共包含 2 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { MemoryDataMigrationStateStore } from '@codesoul-co/hypha-memory';
  • 源码模块: memory-data-migration

声明

text
export interface MemoryDataMigrationStateStore {
    get(planId: string): Promise<MemoryDataMigrationState | null>;
    save(state: MemoryDataMigrationState): Promise<void>;
}

契约成员

成员种类签名说明
get方法get(planId: string): Promise<MemoryDataMigrationState | null>公开方法;参数与返回类型以签名列为准。
save方法save(state: MemoryDataMigrationState): Promise<void>公开方法;参数与返回类型以签名列为准。

MemoryDataMigrationStep

Memory Data Migration Step 接口,共包含 3 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { MemoryDataMigrationStep } from '@codesoul-co/hypha-memory';
  • 源码模块: memory-data-migration

声明

text
export interface MemoryDataMigrationStep {
    id: string;
    apply(): Promise<void>;
    rollback(): Promise<void>;
}

契约成员

成员种类签名说明
apply方法apply(): Promise<void>公开方法;参数与返回类型以签名列为准。
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
rollback方法rollback(): Promise<void>公开方法;参数与返回类型以签名列为准。