跳到主要内容

createWorkingTreeActivationRow()

function createWorkingTreeActivationRow(entityManager, branchGenerationSeq): WorkingTreeActivationState;

Defined in: packages/rxdb-plugin-working-tree/src/working-tree/activation-state.ts:81

造出激活态初始行(未落库)。

Parameters​

ParameterTypeDescription
entityManagerEntityManager用于 instantiate() 的实体管理器
branchGenerationSeqnumber已发放到的分支代际号;新库为 0,既有库为迁移里补发的分支数

Returns​

WorkingTreeActivationState

未落库的实例,调用方负责在一个事务里写下去

Remarks​

新库(createTables())与既有库(0004 迁移)都经 createWorkingTreeCommitsInitialRows() 调到这里,因此两条路径的初始值逐字段相同。各写一份 activationRevision = 0 的话, 改动其一就会产生「新建的库」与「升上来的库」两种库。

branchGenerationSeq 必须续上已发放到的号而不是重新从 0 起:写 0 会让下一次 create branch 发出代际 1,与迁移里第一个既有分支撞号,持旧 (branchId, headRevision) 的调用方会误中新分支(ABA)。