RXDB_SYSTEM_SCHEMA_WATERMARK_PREFIX
const RXDB_SYSTEM_SCHEMA_WATERMARK_PREFIX: "__rxdb_system_schema__:";
Defined in: packages/rxdb/src/system/migration.ts:66
系统表结构水位行的名字前缀
Remarks
水位不单开一张表,而是借 rxdb_migration 的一行记录:名字形如
__rxdb_system_schema__:6,版本号编码在前缀之后。这样「读版本」和「记版本」天然复用
迁移表已有的唯一索引与事务语义——版本推进和产生它的那批 DDL 在同一个事务里落盘,
不存在「DDL 成功但版本没记上」的中间态。
代价是这个前缀落在了用户迁移的命名空间里:双下划线包裹是为了不与用户迁移名相撞。
getRxDBSystemVersionState 按 startsWith 认它,所以前缀一旦发布就不能改——
改了等于既有库的水位行集体失踪,isCurrentRxDBSystemVersion 会把一个已经是最新的库
判成需要迁移,并在补记时撞上唯一索引。