跳到主要内容

RxDBAdapterSqlite

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:54

SQLite 适配器

Extends

Implements

Constructors

Constructor

new RxDBAdapterSqlite(rxdb, options): RxDBAdapterSqlite;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:84

Parameters

ParameterType
rxdbRxDB
optionsSqliteOptions

Returns

RxDBAdapterSqlite

Overrides

RxDBAdapterLocalBase.constructor

Properties

name

name: string = ADAPTER_NAME;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:82

适配器名称

Implementation of

IRxDBAdapter.name


options

readonly options: SqliteOptions;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:86


repository_cache

protected readonly repository_cache: Map<EntityType, IRepository<any>>;

Defined in: packages/rxdb/dist/rxdb-adapter.d.ts:80

Inherited from

RxDBAdapterLocalBase.repository_cache


repository_map

protected readonly repository_map: Map<string, RepositoryConstructor<any>>;

Defined in: packages/rxdb/dist/rxdb-adapter.d.ts:79

Inherited from

RxDBAdapterLocalBase.repository_map


rxdb

readonly rxdb: RxDB;

Defined in: packages/rxdb/dist/rxdb-adapter.d.ts:78

Inherited from

RxDBAdapterLocalBase.rxdb

Methods

cacheRowIdEntity()

cacheRowIdEntity(rowId, entity): void;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:247

缓存 RowId 与实体映射

Parameters

ParameterType
rowIdbigint
entityany

Returns

void


cleanAllCache()

cleanAllCache(): Promise<void>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:286

清空所有缓存

Returns

Promise<void>


connect()

connect(): Promise<IRxDBAdapter>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:129

连接 wab sqlite

Returns

Promise<IRxDBAdapter>

Implementation of

IRxDBAdapter.connect


createTables()

createTables<T>(EntityTypes, entities?): Promise<boolean>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:209

创建表和初始化数据

Type Parameters

Type Parameter
T extends EntityType

Parameters

ParameterTypeDescription
EntityTypesT[]表结构
entities?InstanceType<T>[]视图数据

Returns

Promise<boolean>

Overrides

RxDBAdapterLocalBase.createTables


deleteByIds()

deleteByIds(entityName, ids): Observable<void>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:491

批量删除实体(QueryCache 专用)

Parameters

ParameterTypeDescription
entityNamestring实体表名
idsstring[]要删除的 ID 列表

Returns

Observable<void>

Observable<void>

Example

adapter.deleteByIds('Product', ['id1', 'id2'])
.subscribe(() => console.log('deleted'));

Overrides

RxDBAdapterLocalBase.deleteByIds


disconnect()

disconnect(): Promise<void>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:137

断开连接

Returns

Promise<void>

Implementation of

IRxDBAdapter.disconnect


getEntityByRowId()

getEntityByRowId(rowId, EntityType): any;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:270

根据 RowId 获取实体

Parameters

ParameterType
rowIdbigint
EntityTypeEntityType

Returns

any


getMetadataByIds()

getMetadataByIds(entityName, ids): Observable<Map<string, string>>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:421

获取指定 ID 的元数据(QueryCache 专用)

返回 id → updatedAt 的映射,用于 diffMetadata 对比。

Parameters

ParameterTypeDescription
entityNamestring实体表名
idsstring[]要查询的 ID 列表

Returns

Observable<Map<string, string>>

Observable<Map<string, string>> - id → updatedAt 映射

Example

adapter.getMetadataByIds('Product', ['id1', 'id2'])
.subscribe(map => console.log(map.get('id1')));

Overrides

RxDBAdapterLocalBase.getMetadataByIds


getRepository()

getRepository<T, RT>(EntityType): RT;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:112

获取实体仓库

Type Parameters

Type ParameterDefault type
T extends EntityType-
RTSqliteRepository<T>

Parameters

ParameterTypeDescription
EntityTypeT实体类

Returns

RT

Implementation of

IRxDBAdapter.getRepository

Overrides

RxDBAdapterLocalBase.getRepository


getRowIdByEntity()

getRowIdByEntity(entity): bigint | undefined;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:279

根据实体获取 RowId

Parameters

ParameterType
entityany

Returns

bigint | undefined


getRxDBChangeSequence()

getRxDBChangeSequence(): Promise<number>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:387

获取 RxDBChange 表的当前序列值

Returns

Promise<number>

Overrides

RxDBAdapterLocalBase.getRxDBChangeSequence


internalQuery()

internalQuery(sql, bindings?): Promise<SqliteSuccessResult>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:372

内部查询 直接调用不会走队列

Parameters

ParameterType
sqlstring
bindings?SQLiteCompatibleType[]

Returns

Promise<SqliteSuccessResult>


isTableExisted()

isTableExisted<T>(EntityType): Promise<boolean>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:196

判断表是否存在

Type Parameters

Type Parameter
T extends EntityType

Parameters

ParameterType
EntityTypeT

Returns

Promise<boolean>

Implementation of

IRxDBAdapter.isTableExisted


localRxDBBranch()

localRxDBBranch(): SqliteRepository<typeof RxDBBranch>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:362

本地分支仓库

Returns

SqliteRepository<typeof RxDBBranch>


localRxDBChange()

localRxDBChange(): SqliteTreeRepository<typeof RxDBChange>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:379

本地变更仓库

Returns

SqliteTreeRepository<typeof RxDBChange>


mergeChanges()

mergeChanges(
actions,
_localChanges?,
disableTriggers?): Promise<void>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:233

应用压缩后的变更到本地实体表

将 actions 转换为 SQL 操作实体表。

Parameters

ParameterTypeDefault valueDescription
actionsSwitchVersionActionsundefined压缩后的变更操作
_localChanges?Omit<RxDBChange, "id">[]undefined(已废弃)不再使用
disableTriggers?booleanfalse是否禁用触发器(用于 pull 等操作,避免创建 RxDBChange)

Returns

Promise<void>

Overrides

RxDBAdapterLocalBase.mergeChanges


mutations()

mutations(options): Promise<any[]>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:184

批量修改实体(创建/更新/删除)

Parameters

ParameterTypeDescription
optionsRxDBMutationsMap<any>批量修改选项

Returns

Promise<any[]>

Implementation of

IRxDBAdapter.mutations


query()

query(sql, bindings?): Promise<SqliteSuccessResult>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:294

执行 SQL 语句

Parameters

ParameterType
sqlstring
bindings?SQLiteCompatibleType[]

Returns

Promise<SqliteSuccessResult>


removeCacheEntity()

removeCacheEntity(entity): void;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:256

移除缓存实体映射

Parameters

ParameterType
entityany

Returns

void


removeMany()

removeMany<T>(entities): Promise<InstanceType<T>[]>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:172

删除多个实例

Type Parameters

Type Parameter
T extends EntityType

Parameters

ParameterType
entitiesInstanceType<T>[]

Returns

Promise<InstanceType<T>[]>

Implementation of

IRxDBAdapter.removeMany


repository()

protected repository<RT>(repositoryName, RepositoryClass): void;

Defined in: packages/rxdb/dist/rxdb-adapter.d.ts:88

注册适配器的仓库

Type Parameters

Type Parameter
RT extends RepositoryBase<any>

Parameters

ParameterType
repositoryNamestring
RepositoryClassRepositoryConstructor<RT>

Returns

void

Inherited from

RxDBAdapterLocalBase.repository


saveMany()

saveMany<T>(entities): Promise<InstanceType<T>[]>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:159

保存多个实体 TODO: 优化事件

Type Parameters

Type Parameter
T extends EntityType

Parameters

ParameterType
entitiesInstanceType<T>[]

Returns

Promise<InstanceType<T>[]>

Implementation of

IRxDBAdapter.saveMany


setRxDBChangeSequence()

setRxDBChangeSequence(sequence): Promise<void>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:397

设置 RxDBChange 表的序列值

Parameters

ParameterTypeDescription
sequencenumber序列值

Returns

Promise<void>


switchBranch()

switchBranch(options): Promise<void>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:220

切换分支

Parameters

ParameterTypeDescription
optionsSwitchBranchOptions切换选项

Returns

Promise<void>

Overrides

RxDBAdapterLocalBase.switchBranch


transaction()

transaction<T>(transactionFun, transactionLog?): Promise<Awaited<ReturnType<T>>>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:311

执行事务

Type Parameters

Type Parameter
T extends TransactionFun

Parameters

ParameterTypeDefault valueDescription
transactionFunTundefined事务方法
transactionLogbooleantrue是否生成事务日志

Returns

Promise<Awaited<ReturnType<T>>>

Overrides

RxDBAdapterLocalBase.transaction


upsertMany()

upsertMany<T>(entityName, data): Observable<void>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:457

批量更新或插入实体(QueryCache 专用)

使用 INSERT OR REPLACE 实现 upsert 语义。

Type Parameters

Type Parameter
T

Parameters

ParameterTypeDescription
entityNamestring实体表名
dataT[]要写入的数据数组

Returns

Observable<void>

Observable<void>

Example

adapter.upsertMany('Product', [{ id: '1', name: 'Updated' }])
.subscribe(() => console.log('upserted'));

Overrides

RxDBAdapterLocalBase.upsertMany


version()

version(): Promise<string>;

Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:149

获取版本

Returns

Promise<string>

Implementation of

IRxDBAdapter.version