My error: Caused by: org.koin.core.error.InstanceCreationException: Could not create instance for '[Singleton:'data.local.sqldelight.AppDatabase']
I’ll immediately explain that with
JdbcSqliteDriver.IN_MEMORYit works with a bang
I am implementing DatabaseDriberFactory:
actual class DatabaseDriverFactory {
actual fun createDriver(): SqlDriver {
val databasePath = File(System.getProperty("java.io.tmpdir"), "${DatabaseHelper.DATABASE_NAME}.db")
println(databasePath.path)
val driver = JdbcSqliteDriver(
url = "jdbc:sqlite:test.db",
properties = Properties().apply { put("foreign_keys", "true") }
).also {
AppDatabase.Schema.create(it)
}
return driver
}
}
Koin.kt:
val databaseModule = module {
single {
createDatabase(driver = get())
}
single<ITeamDao> { TeamDao() }
}
Later this modules will all be initialized
build.gradle.kts:
sqldelight {
databases {
create("AppDatabase") {
packageName.set("data.local.sqldelight")
srcDirs.setFrom("src/commonMain/kotlin")
// project.set(listOf("kotlin"))
// schemaOutputDirectory = file("src/commonMain/sqldelight/schema")
}
}
}
I tried to find how to solve this error, but I couldn't
I also get this error below: Caused by: org.sqlite.SQLiteException: [SQLITE_CONSTRAINT_FOREIGNKEY] A foreign key constraint failed (FOREIGN KEY constraint failed)