Я пытаюсь создать приложение, используя Ktor и Exposed с SQLite. К сожалению, мое приложение продолжает падать.
Это подключение к моей базе данных:
class DatabaseFactory(connection: DatabaseConnection) {
init {
connect()
createSchema()
}
private fun connect() {
Database.connect("jdbc:sqlite:/path/to/file", "org.sqlite.JDBC")
TransactionManager.manager.defaultIsolationLevel = Connection.TRANSACTION_SERIALIZABLE
}
private fun createSchema() {
transaction {
SchemaUtils.create(Images)
SchemaUtils.create(KeyValues)
Images.deleteAll()
}
}
suspend fun <T> dbQuery(block: () -> T): T =
withContext(Dispatchers.IO) {
transaction { block() }
}
}
// access db with
DatabaseFactory.dbQuery {
// do stuff
}
Во время работы моего приложения я получаю следующую ошибку:
org.jetbrains.exposed.exceptions.ExposedSQLException: org.sqlite.SQLiteException: [SQLITE_BUSY] The database file is locked (database is locked)