Package-level declarations

Types

Link copied to clipboard

StandardVersionsRepoProxy implementation backed by a KeyValueRepo mapping table names to version numbers. Stores and retrieves per-table version integers using keyValueStore with table names as keys.

Link copied to clipboard

Standard implementation of VersionsRepo that delegates version storage to a StandardVersionsRepoProxy. On setTableVersion: calls StandardVersionsRepoProxy.database.onCreate if the table has no version yet, then iterates onUpdate for each version step until the target version is reached.

Link copied to clipboard

Proxy interface providing low-level access to a versioned database T. Implementations store and retrieve per-table version numbers using a backing storage.

Link copied to clipboard
interface VersionsRepo<T> : Repo

This interface has been created due to requirement to work with different versions of databases and make some migrations between versions

Functions

Link copied to clipboard
inline fun <T> Context.versionsKeyValueRepo(database: T): VersionsRepo<T>

Will create VersionsRepo based on T, but versions will be stored in KeyValueRepo

Link copied to clipboard

Will create VersionsRepo based on SQLiteOpenHelper, but versions will be stored in KeyValueRepo

Link copied to clipboard

Will create VersionsRepo based on SQLiteOpenHelper with table inside of database

Will create VersionsRepo based on SQLiteOpenHelper, but versions will be stored in KeyValueRepo