diff --git a/src/adapters/sqlite/index.js b/src/adapters/sqlite/index.js index 1040aae32..0e17c8c8d 100644 --- a/src/adapters/sqlite/index.js +++ b/src/adapters/sqlite/index.js @@ -49,7 +49,7 @@ export default class SQLiteAdapter implements DatabaseAdapter, SQLDatabaseAdapte migrations: ?SchemaMigrations - migrationEvents: ?MigrationEvents + _migrationEvents: ?MigrationEvents _tag: ConnectionTag = connectionTag() @@ -66,7 +66,7 @@ export default class SQLiteAdapter implements DatabaseAdapter, SQLDatabaseAdapte const { dbName, schema, migrations, migrationEvents } = options this.schema = schema this.migrations = migrations - this.migrationEvents = migrationEvents + this._migrationEvents = migrationEvents this._dbName = this._getName(dbName) this._dispatcherType = getDispatcherType(options) this._dispatcher = makeDispatcher(this._dispatcherType, this._tag, this._dbName) @@ -149,7 +149,9 @@ export default class SQLiteAdapter implements DatabaseAdapter, SQLDatabaseAdapte `[WatermelonDB][SQLite] Migrating from version ${databaseVersion} to ${this.schema.version}...`, ) - this.migrationEvents?.onStarted?.() + if(this._migrationEvents && this._migrationEvents.onStarted){ + this._migrationEvents.onStarted() + } try { await toPromise(callback => @@ -162,10 +164,14 @@ export default class SQLiteAdapter implements DatabaseAdapter, SQLDatabaseAdapte ), ) logger.log('[WatermelonDB][SQLite] Migration successful') - this.migrationEvents?.onSuccess?.() + if(this._migrationEvents && this._migrationEvents.onSuccess){ + this._migrationEvents.onSuccess() + } } catch (error) { logger.error('[WatermelonDB][SQLite] Migration failed', error) - this.migrationEvents?.onFailure?.(error) + if(this._migrationEvents && this._migrationEvents.onFailure){ + this._migrationEvents.onFailure() + } throw error } } else { diff --git a/src/adapters/sqlite/type.js b/src/adapters/sqlite/type.js index 6f1c6667a..e8d4ccb69 100644 --- a/src/adapters/sqlite/type.js +++ b/src/adapters/sqlite/type.js @@ -14,9 +14,9 @@ export type SQLiteArg = string | boolean | number | null export type SQLiteQuery = [SQL, SQLiteArg[]] export type MigrationEvents = { - onSuccess?: () => void, - onStarted?: () => void, - onFailure?: (error: string) => void, + onSuccess: () => void, + onStarted: () => void, + onFailure: (error: string) => void, } export type SQLiteAdapterOptions = $Exact<{