I am about to release an Android app and I am a little bit concerned about the database versioning.
The thing is I only use the database during execution time, everytime I start the application I remove all the contents because they don´t need to be persistant. The code is like this:
public synchronized void createDatabase() {
if (database == null) {
database = this.openOrCreateDatabase(DATABASENAME, MODE_PRIVATE, null);
}
database.execSQL("DROP TABLE IF EXISTS " + Xxxxxxxx.TABLE_NAME);
database.execSQL("DROP TABLE IF EXISTS " + Yyyyyyyy.TABLE_NAME);
database.execSQL("DROP TABLE IF EXISTS " + Oooooooo.TABLE_NAME);
database.execSQL("DROP TABLE IF EXISTS " + Ppppppppp.TABLE_NAME);
database.execSQL("DROP TABLE IF EXISTS " + Mmmmmmmmm.TABLE_NAME);
database.execSQL("DROP TABLE IF EXISTS " + Aaaaaaaaa.TABLE_NAME);
database.execSQL(Xxxxxxxx.CREATE_PROVIDERS_TABLE);
database.execSQL(Yyyyyyyy.CREATE_CONTENTS_TABLE);
database.execSQL(Oooooooo.CREATE_EVENTS_TABLE);
database.execSQL(Ppppppppp.CREATE_EVENTS_ANSWERS_TABLE);
database.execSQL(Mmmmmmmmm.CREATE_CATEGORY_TABLE);
database.execSQL(Aaaaaaaaa.CREATE_SUBCATEGORY_TABLE);
}
My question is, considering how I remove everything when I start the app, do I need to control different versions? What if in the future I add a new column? Will it work propperly?
Thanks in advance
I think you don’t need to worry at all about db versioning.
If you actually change the DB schema in a future version it doesn’t matter since all the tables will be dropped/recreated at next launch.