Skip to Content
SdkReactInternalInterfacesDatabaseManagerOptions

DatabaseManagerOptions

Defined in: src/lib/db/manager.ts:45 

Configuration options for DatabaseManager.

Properties

createAdapter()

createAdapter: (dbName: string, schema: Readonly<{ tables: TableMap; unsafeSql?: (_: string, __: AppSchemaUnsafeSqlKind) => string; version: number; }>, migrations: Readonly<{ maxVersion: number; minVersion: number; sortedMigrations: Readonly<{ steps: MigrationStep[]; toVersion: number; }>[]; validated: true; }>) => DatabaseAdapter

Defined in: src/lib/db/manager.ts:63 

Factory that creates a WatermelonDB adapter for a given database name. The schema and migrations are provided for convenience.

Parameters

ParameterType

dbName

string

schema

Readonly<{ tables: TableMap; unsafeSql?: (_: string, __: AppSchemaUnsafeSqlKind) => string; version: number; }>

migrations

Readonly<{ maxVersion: number; minVersion: number; sortedMigrations: Readonly<{ steps: MigrationStep[]; toVersion: number; }>[]; validated: true; }>

Returns

DatabaseAdapter

Example

createAdapter: (dbName, schema, migrations) => new LokiJSAdapter({ schema, migrations, dbName, useWebWorker: false, useIncrementalIndexedDB: true, })

dbNamePrefix

dbNamePrefix: string

Defined in: src/lib/db/manager.ts:47 

Prefix for database names, e.g. “anuma-watermelon”. Each wallet gets {prefix}-{address}.


logger?

optional logger: DatabaseManagerLogger

Defined in: src/lib/db/manager.ts:77 

Optional logger for debug/warn/info messages


onDestructiveMigration()?

optional onDestructiveMigration: () => void

Defined in: src/lib/db/manager.ts:75 

Called when a destructive migration is needed (schema too old). On web, this typically triggers window.location.reload(). If not provided, the manager will throw an error instead.

Returns

void


storage?

optional storage: PlatformStorage

Defined in: src/lib/db/manager.ts:69 

Platform storage implementation. Defaults to webPlatformStorage.

Last updated on