跳到主要内容

WorkingTreeRestoreTarget

Defined in: packages/rxdb-plugin-working-tree/src/working-tree/restore-precheck.ts:48

恢复目标:要把工作树恢复到哪一个 commit、其中的哪些单元。

Remarks​

收成一个对象而不是裸 commitId: string:restore() 的入参迟早要长出「恢复到某个时间点」 之类的第二种寻址方式,而那时把 string 改成联合会牵动每一个调用点。

entities 与硬裁决 1 不冲突,方向恰好相反:硬裁决 1 禁的是 commit() / discard() 挑一部分未提交变更——工作树里躺着什么,就整棵一起落盘或整棵一起丢。这里挑的是 要往工作树里写什么,写完之后它们和手写变更一样是整棵工作树的一部分,下一次 commit() 照样全量提交(FR-015 末句)。

Properties​

commitId​

readonly commitId: string;

Defined in: packages/rxdb-plugin-working-tree/src/working-tree/restore-precheck.ts:50

目标 commit 的 id;必须在当前分支 HEAD 的可达父链上(FR-033)


entities?​

readonly optional entities?: readonly WorkingTreeRestoreEntityRef[];

Defined in: packages/rxdb-plugin-working-tree/src/working-tree/restore-precheck.ts:59

只恢复目标 commit 里点名的这些单元;缺省 = 整个 commit 的全部单元

Remarks​

三段全给而不是只给 entityId:同一个 id 在两个 namespace 下是两行, 只按 id 过滤会把另一张表里恰好同 id 的那一行也带进来。