跳到主要内容

MigrationType

Defined in: packages/rxdb/src/rxdb.interface.ts:20

升级脚本

同一个 name 在历史里只能被记录一次;重复执行同名迁移会被跳过。 name 用作 RxDBMigration 表的主键,所以不可改名。

Properties​

name​

name: string;

Defined in: packages/rxdb/src/rxdb.interface.ts:24

迁移名,全库唯一

Methods​

down()​

down(): Promise<void>;

Defined in: packages/rxdb/src/rxdb.interface.ts:46

向后回滚

Returns​

Promise<void>

Remarks​

当前 RxDB 暂不主动触发 down();保留它是为未来的"反向迁移"做准备, 业务方应当实现幂等的回滚路径,便于分支合并时撤销未完成的变更。


up()​

up(executor): Promise<void>;

Defined in: packages/rxdb/src/rxdb.interface.ts:38

向前迁移。

Parameters​

ParameterTypeDescription
executorTransactionExecutor本次迁移所在事务的执行器

Returns​

Promise<void>

Remarks​

up() 是唯一能在事务体内运行的用户代码。迁移里的所有数据写入必须经 executor.getRepository(X) / executor.query() 发出 —— 直接 entity.save() 或 adapter.query() 会落回适配器队列,而队列的唯一槽位正被本次迁移所在的事务占用, 于是永久挂起(设计见 code-reviews/transaction-executor-design.md 裁决④)。

形参可以省略(TS 允许形参更少的实现),不写数据的迁移无需关心它。