openDatabase
suspend fun openDatabase(name: String, version: Int, logger: Logger = NoOpLogger, initialize: suspend VersionChangeTransaction.(database: Database, oldVersion: Int, newVersion: Int) -> Unit): Database
Inside the initialize block, you must not call any suspend functions except for:
those provided by this library and scoped on Transaction (and its subclasses)
flow operations on the flows returns by Transaction.openCursor and Transaction.openKeyCursor
suspendfunctions composed entirely of other legal functions