RxDBAdapterSqlite
Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqliteOfficial.ts:6
Backend-agnostic base class for SQLite adapters.
Subclasses provide createClient() and adapterName.
Extends
Constructors
Constructor
new RxDBAdapterSqlite(rxdb, options): RxDBAdapterSqlite;
Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqliteOfficial.ts:10
Parameters
| Parameter | Type |
|---|---|
rxdb | RxDB |
options | SqliteOfficialOptions |
Returns
RxDBAdapterSqlite
Overrides
RxDBAdapterSqliteBase.constructor
Properties
name
readonly name: string = ADAPTER_NAME;
Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqliteOfficial.ts:8
适配器名称
Overrides
options
readonly options: SqliteOfficialOptions;
Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqliteOfficial.ts:12
repository_cache
protected readonly repository_cache: Map<EntityType, RepositoryInstance<EntityType>>;
Defined in: packages/rxdb/dist/rxdb-adapter.d.ts:121
Inherited from
RxDBAdapterSqliteBase.repository_cache
repository_map
protected readonly repository_map: Map<string, AdapterRepositoryConstructor<RxDBAdapterSqlite, RepositoryInstance<EntityType>>>;
Defined in: packages/rxdb/dist/rxdb-adapter.d.ts:120
Inherited from
RxDBAdapterSqliteBase.repository_map
rxdb
readonly rxdb: RxDB;
Defined in: packages/rxdb/dist/rxdb-adapter.d.ts:119
Inherited from
Accessors
encryption
Get Signature
get encryption(): AdapterEncryptionFacade;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:53
Returns
Inherited from
RxDBAdapterSqliteBase.encryption
encryptionContext
Get Signature
get encryptionContext(): EncryptionContext;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:52
Returns
Inherited from
RxDBAdapterSqliteBase.encryptionContext
Methods
cacheRowIdEntity()
cacheRowIdEntity(rowId, entity): void;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:66
Parameters
| Parameter | Type |
|---|---|
rowId | bigint |
entity | any |
Returns
void
Inherited from
RxDBAdapterSqliteBase.cacheRowIdEntity
cleanAllCache()
cleanAllCache(): void;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:70
Returns
void
Inherited from
RxDBAdapterSqliteBase.cleanAllCache
connect()
connect(): Promise<IRxDBAdapter>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:56
连接数据库
Returns
Promise<IRxDBAdapter>
Inherited from
createClient()
protected createClient(): Promise<SqliteClientLike>;
Defined in: packages/rxdb-adapter-sqlite/src/RxDBAdapterSqliteOfficial.ts:18
Create or obtain the SQLite client. Concrete adapters implement this with their backend-specific logic.
Returns
Promise<SqliteClientLike>
Overrides
RxDBAdapterSqliteBase.createClient
createTables()
createTables<T>(EntityTypes, entities?): Promise<boolean>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:63
创建 tables
Type Parameters
| Type Parameter |
|---|
T extends EntityType |
Parameters
| Parameter | Type | Description |
|---|---|---|
EntityTypes | T[] | 的类型数组 |
entities? | InstanceType<T>[] | 可选的实体实例数组,用于初始化数据 |
Returns
Promise<boolean>
Inherited from
RxDBAdapterSqliteBase.createTables
deleteByIds()
deleteByIds(entityName, ids): Observable<void>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:85
按 ID 列表批量删除(QueryCache 专用)
用于清理本地缓存中已被远程删除的数据。
Parameters
| Parameter | Type | Description |
|---|---|---|
entityName | string | 实体名称 |
ids | string[] | 要删除的 ID 列表 |
Returns
Observable<void>
Observable<void>
Example
adapter.deleteByIds('Product', ['p1', 'p2']).subscribe();
Inherited from
RxDBAdapterSqliteBase.deleteByIds
disconnect()
disconnect(): Promise<void>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:57
取消连接
Returns
Promise<void>
Inherited from
RxDBAdapterSqliteBase.disconnect
getEntityByRowId()
getEntityByRowId(rowId, EntityType): any;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:68
Parameters
| Parameter | Type |
|---|---|
rowId | bigint |
EntityType | EntityType |
Returns
any
Inherited from
RxDBAdapterSqliteBase.getEntityByRowId
getMetadataByIds()
getMetadataByIds(entityName, ids): Observable<Map<string, string>>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:83
获取指定 ID 列表的元数据(QueryCache 专用)
用于本地缓存新鲜度检查,返回 ID → updatedAt 映射。
Parameters
| Parameter | Type | Description |
|---|---|---|
entityName | string | 实体名称 |
ids | string[] | 实体 ID 列表 |
Returns
Observable<Map<string, string>>
Observable<Map<string, string>> - ID → updatedAt 映射
Example
adapter.getMetadataByIds('Product', ['p1', 'p2'])
.subscribe(map => {
// map: Map `{ 'p1' => '2026-01-12T10:00:00Z', 'p2' => '2026-01-12T09:30:00Z' }`
});
Inherited from
RxDBAdapterSqliteBase.getMetadataByIds
getRepository()
getRepository<T, RT>(EntityType): RT;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:55
Type Parameters
| Type Parameter | Default type |
|---|---|
T extends EntityType | - |
RT | SqliteRepository<T> |
Parameters
| Parameter | Type |
|---|---|
EntityType | T |
Returns
RT
Inherited from
RxDBAdapterSqliteBase.getRepository
getRowIdByEntity()
getRowIdByEntity(entity): bigint | undefined;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:69
Parameters
| Parameter | Type |
|---|---|
entity | any |
Returns
bigint | undefined
Inherited from
RxDBAdapterSqliteBase.getRowIdByEntity
getRxDBChangeSequence()
getRxDBChangeSequence(): Promise<number>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:81
获取当前 RxDBChange 序列号
Returns
Promise<number>
Inherited from
RxDBAdapterSqliteBase.getRxDBChangeSequence
internalQuery()
internalQuery(sql, bindings?): Promise<SqliteSuccessResult>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:79
Parameters
| Parameter | Type |
|---|---|
sql | string |
bindings? | SQLiteCompatibleType[] |
Returns
Promise<SqliteSuccessResult>
Inherited from
RxDBAdapterSqliteBase.internalQuery
isTableExisted()
isTableExisted<T>(EntityType): Promise<boolean>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:62
判断 table 是否存在
Type Parameters
| Type Parameter |
|---|
T extends EntityType |
Parameters
| Parameter | Type |
|---|---|
EntityType | T |
Returns
Promise<boolean>
Inherited from
RxDBAdapterSqliteBase.isTableExisted
localRxDBBranch()
localRxDBBranch(): SqliteRepository<typeof RxDBBranch>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:78
Returns
SqliteRepository<typeof RxDBBranch>
Inherited from
RxDBAdapterSqliteBase.localRxDBBranch
localRxDBChange()
localRxDBChange(): SqliteTreeRepository<typeof RxDBChange>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:80
Returns
SqliteTreeRepository<typeof RxDBChange>
Inherited from
RxDBAdapterSqliteBase.localRxDBChange
mergeChanges()
mergeChanges(
actions,
localChanges?,
disableTriggers?): Promise<void>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:65
应用压缩后的变更到本地实体表
实现策略(SQLite):
- 将 actions 转换为 SQL 操作
- 在事务中: a) 执行 SQL 操作实体表(INSERT/UPDATE/DELETE) b) 批量插入 localChanges 到 RxDBChange 表(用于历史追踪)
- 发送本地事件通知 UI 更新
Parameters
| Parameter | Type | Description |
|---|---|---|
actions | SwitchVersionActions | 压缩后的变更操作集合(从远程 pull 来的) |
localChanges? | Omit<RxDBChange, "id">[] | 需要保存到本地 RxDBChange 表的记录(可选) |
disableTriggers? | boolean | 是否禁用触发器(用于 pull 等操作,避免创建 RxDBChange) |
Returns
Promise<void>
Inherited from
RxDBAdapterSqliteBase.mergeChanges
mutations()
mutations<T>(options): Promise<InstanceType<T>[]>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:61
批量修改实体(创建/更新/删除)
Type Parameters
| Type Parameter |
|---|
T extends EntityType |
Parameters
| Parameter | Type | Description |
|---|---|---|
options | RxDBMutationsMap<T> | 批量修改选项 |
Returns
Promise<InstanceType<T>[]>
Inherited from
RxDBAdapterSqliteBase.mutations
query()
query(sql, bindings?): Promise<SqliteSuccessResult>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:71
Parameters
| Parameter | Type |
|---|---|
sql | string |
bindings? | SQLiteCompatibleType[] |
Returns
Promise<SqliteSuccessResult>
Inherited from
rawQuery()
rawQuery(sql, params?): Promise<{
columns: string[];
rows: SQLiteCompatibleType[][];
rowsAffected: number;
}>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:72
执行原始 SQL 查询(可选) 用于条件 UPDATE 等需要绕过 ORM 的场景
Parameters
| Parameter | Type | Description |
|---|---|---|
sql | string | SQL 语句 |
params? | unknown[] | 绑定参数 |
Returns
Promise<{
columns: string[];
rows: SQLiteCompatibleType[][];
rowsAffected: number;
}>
Inherited from
RxDBAdapterSqliteBase.rawQuery
removeCacheEntity()
removeCacheEntity(entity): void;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:67
Parameters
| Parameter | Type |
|---|---|
entity | any |
Returns
void
Inherited from
RxDBAdapterSqliteBase.removeCacheEntity
removeMany()
removeMany<T>(entities): Promise<InstanceType<T>[]>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:60
删除多个实体
Type Parameters
| Type Parameter |
|---|
T extends EntityType |
Parameters
| Parameter | Type |
|---|---|
entities | InstanceType<T>[] |
Returns
Promise<InstanceType<T>[]>
Inherited from
RxDBAdapterSqliteBase.removeMany
repository()
protected repository<RT>(repositoryName, RepositoryClass): void;
Defined in: packages/rxdb/dist/rxdb-adapter.d.ts:129
注册适配器的仓库
Type Parameters
| Type Parameter |
|---|
RT extends RepositoryInstance<EntityType> |
Parameters
| Parameter | Type |
|---|---|
repositoryName | string |
RepositoryClass | AdapterRepositoryConstructor<RxDBAdapterSqlite, RT> |
Returns
void
Inherited from
RxDBAdapterSqliteBase.repository
saveMany()
saveMany<T>(entities): Promise<InstanceType<T>[]>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:59
保存多个实体
Type Parameters
| Type Parameter |
|---|
T extends EntityType |
Parameters
| Parameter | Type |
|---|---|
entities | InstanceType<T>[] |
Returns
Promise<InstanceType<T>[]>
Inherited from
RxDBAdapterSqliteBase.saveMany
setRxDBChangeSequence()
setRxDBChangeSequence(sequence): Promise<void>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:82
Parameters
| Parameter | Type |
|---|---|
sequence | number |
Returns
Promise<void>
Inherited from
RxDBAdapterSqliteBase.setRxDBChangeSequence
switchBranch()
switchBranch(options): Promise<void>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:64
切换分支
Parameters
| Parameter | Type | Description |
|---|---|---|
options | SwitchBranchOptions | 切换分支选项 |
Returns
Promise<void>
Inherited from
RxDBAdapterSqliteBase.switchBranch
transaction()
transaction<T>(transactionFun, transactionLog?): Promise<Awaited<ReturnType<T>>>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:77
执行事务
Type Parameters
| Type Parameter |
|---|
T extends TransactionFun |
Parameters
| Parameter | Type | Description |
|---|---|---|
transactionFun | T | 事务回调函数 |
transactionLog? | boolean | - |
Returns
Promise<Awaited<ReturnType<T>>>
Inherited from
RxDBAdapterSqliteBase.transaction
upsertMany()
upsertMany<T>(entityName, data): Observable<void>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:84
批量 upsert 数据(QueryCache 专用)
执行 INSERT OR REPLACE 语义,用于缓存远程拉取的数据。
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
entityName | string | 实体名称 |
data | T[] | 要写入的数据列表 |
Returns
Observable<void>
Observable<void>
Example
adapter.upsertMany('Product', [product1, product2]).subscribe();
Inherited from
RxDBAdapterSqliteBase.upsertMany
version()
version(): Promise<string>;
Defined in: packages/rxdb-adapter-sqlite-core/dist/RxDBAdapterSqliteBase.d.ts:58
获取数据库版本
Returns
Promise<string>