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
| Parameter | Type | Description |
|---|---|---|
executor | TransactionExecutor | 本次迁移所在事务的执行器 |
Returns
Promise<void>
Remarks
up() 是唯一能在事务体内运行的用户代码。迁移里的所有数据写入必须经
executor.getRepository(X) / executor.query() 发出 —— 直接 entity.save() 或
adapter.query() 会落回适配器队列,而队列的唯一槽位正被本次迁移所在的事务占用,
于是永久挂起(设计见 code-reviews/transaction-executor-design.md 裁决④)。
形参可以省略(TS 允许形参更少的实现),不写数据的迁移无需关心它。