I want to pre-populate the database in my KMM project. I’m using SQLDelight. I have this implementation for the Android side.
actual fun Scope.createDriver(): SqlDriver {
val context = androidContext()
val fileName = "dbFileName"
val database: File = context.getDatabasePath(fileName)
if (!database.exists()) {
val inputStream = context.assets.open(fileName)
val outputStream = FileOutputStream(database.absolutePath)
inputStream.use { input ->
outputStream.use {
input.copyTo(it)
}
}
}
return AndroidSqliteDriver(NoteDatabase.Schema, context, fileName)
}
I tried this code on iOS but it’s not working.
val path = "test.db"
val fileManager = NSFileManager.defaultManager
if (!fileManager.fileExistsAtPath(path)) {
val bundlePath = MR.assets.balagh_ul_quran.url.path.toString()
fileManager.copyItemAtPath(bundlePath, toPath = path, error = null)
}
return NativeSqliteDriver(NoteDatabase.Schema, path)
Can anyone suggest something?
thanks!