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
| Parameter | Type |
|---|---|
rxdb | RxDB |
options | SqliteOptions |
Returns
RxDBAdapterSqlite
Overrides
RxDBAdapterLocalBase.constructor
Properties
name
name: string = ADAPTER_NAME;
Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:82
适配器名称
Implementation of
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
Methods
cacheRowIdEntity()
cacheRowIdEntity(rowId, entity): void;
Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:247
缓存 RowId 与实体映射
Parameters
| Parameter | Type |
|---|---|
rowId | bigint |
entity | any |
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
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
| Parameter | Type | Description |
|---|---|---|
EntityTypes | T[] | 表结构 |
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
| Parameter | Type | Description |
|---|---|---|
entityName | string | 实体表名 |
ids | string[] | 要删除的 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
getEntityByRowId()
getEntityByRowId(rowId, EntityType): any;
Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:270
根据 RowId 获取实体
Parameters
| Parameter | Type |
|---|---|
rowId | bigint |
EntityType | EntityType |
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
| Parameter | Type | Description |
|---|---|---|
entityName | string | 实体表名 |
ids | string[] | 要查询的 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 Parameter | Default type |
|---|---|
T extends EntityType | - |
RT | SqliteRepository<T> |
Parameters
| Parameter | Type | Description |
|---|---|---|
EntityType | T | 实体类 |
Returns
RT
Implementation of
Overrides
RxDBAdapterLocalBase.getRepository
getRowIdByEntity()
getRowIdByEntity(entity): bigint | undefined;
Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:279
根据实体获取 RowId
Parameters
| Parameter | Type |
|---|---|
entity | any |
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
| Parameter | Type |
|---|---|
sql | string |
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
| Parameter | Type |
|---|---|
EntityType | T |
Returns
Promise<boolean>
Implementation of
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
| Parameter | Type | Default value | Description |
|---|---|---|---|
actions | SwitchVersionActions | undefined | 压缩后的变更操作 |
_localChanges? | Omit<RxDBChange, "id">[] | undefined | (已废弃)不再使用 |
disableTriggers? | boolean | false | 是否禁用触发器(用于 pull 等操作,避免创建 RxDBChange) |
Returns
Promise<void>
Overrides
RxDBAdapterLocalBase.mergeChanges
mutations()
mutations(options): Promise<any[]>;
Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:184
批量修改实体(创建/更新/删除)
Parameters
| Parameter | Type | Description |
|---|---|---|
options | RxDBMutationsMap<any> | 批量修改选项 |
Returns
Promise<any[]>
Implementation of
query()
query(sql, bindings?): Promise<SqliteSuccessResult>;
Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:294
执行 SQL 语句
Parameters
| Parameter | Type |
|---|---|
sql | string |
bindings? | SQLiteCompatibleType[] |
Returns
Promise<SqliteSuccessResult>
removeCacheEntity()
removeCacheEntity(entity): void;
Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:256
移除缓存实体映射
Parameters
| Parameter | Type |
|---|---|
entity | any |
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
| Parameter | Type |
|---|---|
entities | InstanceType<T>[] |
Returns
Promise<InstanceType<T>[]>
Implementation of
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
| Parameter | Type |
|---|---|
repositoryName | string |
RepositoryClass | RepositoryConstructor<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
| Parameter | Type |
|---|---|
entities | InstanceType<T>[] |
Returns
Promise<InstanceType<T>[]>
Implementation of
setRxDBChangeSequence()
setRxDBChangeSequence(sequence): Promise<void>;
Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:397
设置 RxDBChange 表的序列值
Parameters
| Parameter | Type | Description |
|---|---|---|
sequence | number | 序列值 |
Returns
Promise<void>
switchBranch()
switchBranch(options): Promise<void>;
Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqlite.ts:220
切换分支
Parameters
| Parameter | Type | Description |
|---|---|---|
options | SwitchBranchOptions | 切换选项 |
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
| Parameter | Type | Default value | Description |
|---|---|---|---|
transactionFun | T | undefined | 事务方法 |
transactionLog | boolean | true | 是否生成事务日志 |
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
| Parameter | Type | Description |
|---|---|---|
entityName | string | 实体表名 |
data | T[] | 要写入的数据数组 |
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>