Tried it, but not so lucky. This: ```val schema = ...
# squarelibraries
a
Tried it, but not so lucky. This:
Copy code
val schema = object : SqlDriver.Schema by Database.Schema {
    override fun migrate(driver: SqlDriver, oldVersion: Int, newVersion: Int) {
        appContext.deleteDatabase("mydatabase.db")
        Database.Schema.create(driver)
    }
}
Throws this:
Copy code
W/SQLiteLog: (28) file unlinked while open: /path/to/mydatabase.db
android.database.sqlite.SQLiteReadOnlyDatabaseException: attempt to write a readonly database (code 1032)
        at android.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(Native Method)
        at android.database.sqlite.SQLiteConnection.executeForChangedRowCount(SQLiteConnection.java:736)
        at android.database.sqlite.SQLiteSession.executeForChangedRowCount(SQLiteSession.java:754)
        at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:64)
        at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1756)
        at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1683)
        at android.database.sqlite.SQLiteDatabase.setVersion(SQLiteDatabase.java:950)
        at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:341)
        at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:238)
        at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.getWritableSupportDatabase(FrameworkSQLiteOpenHelper.java:145)
        at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper.getWritableDatabase(FrameworkSQLiteOpenHelper.java:106)
        at com.squareup.sqldelight.android.AndroidSqliteDriver$database$2.invoke(AndroidSqliteDriver.kt:30)
        at com.squareup.sqldelight.android.AndroidSqliteDriver$database$2.invoke(AndroidSqliteDriver.kt:19)
        at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
        at com.squareup.sqldelight.android.AndroidSqliteDriver.getDatabase(Unknown Source:2)
        at com.squareup.sqldelight.android.AndroidSqliteDriver.newTransaction(AndroidSqliteDriver.kt:82)
        at com.squareup.sqldelight.TransacterImpl.transactionWithWrapper(Transacter.kt:208)
        at com.squareup.sqldelight.TransacterImpl.transaction(Transacter.kt:197)
        at com.squareup.sqldelight.Transacter$DefaultImpls.transaction$default(Transacter.kt:82)
d
Is
migrate
not surrounded by a transaction? If so, this seems very....naughty.