I have an app that has an sqlite with 3 tables. My concern is that, if I introduce an update that adds another table (so that's 4 tables) then the updated version will wipe out the database.
How can I backup/restore db given that the backup happens before the update and the restore after the update? If I do it using the IO (copy to SD card and copy back) then it will fail.
I am thinking probably of exporting data to xml and loading manually. Is there another way? any example on how to do it?
If you simply want to add a new table, comment out the DROP TABLE commands in your onUpgrade()
method. You have full control of the code in onUpgrade()
so it can just be:
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("CREATE TABLE ...");
}
Technically you don't even need to increment the database version, anytime you have access to a copy of db
you can execute your CREATE statement.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With