From 4fc93d01548b8b67cb4cdd4a9e540ea0e004df49 Mon Sep 17 00:00:00 2001 From: George Mount Date: Fri, 15 Mar 2013 11:16:08 -0700 Subject: Delete and recreate database on upgrade. Change-Id: I0125697dd673568ddfee7be8d7d0d693018b61d5 --- src/com/android/photos/data/PhotoDatabase.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src') diff --git a/src/com/android/photos/data/PhotoDatabase.java b/src/com/android/photos/data/PhotoDatabase.java index a87f00bfa..3a9ad3cb1 100644 --- a/src/com/android/photos/data/PhotoDatabase.java +++ b/src/com/android/photos/data/PhotoDatabase.java @@ -90,12 +90,21 @@ public class PhotoDatabase extends SQLiteOpenHelper { createTable(db, Metadata.TABLE, getMetadataTableDefinition()); } + public PhotoDatabase(Context context, String dbName, int dbVersion) { + super(context, dbName, null, dbVersion); + } + public PhotoDatabase(Context context, String dbName) { super(context, dbName, null, DB_VERSION); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + dropTable(db, Metadata.TABLE); + dropTable(db, Photos.TABLE); + dropTable(db, Albums.TABLE); + dropTable(db, Accounts.TABLE); + onCreate(db); } protected List getAlbumTableDefinition() { @@ -163,4 +172,14 @@ public class PhotoDatabase extends SQLiteOpenHelper { } } } + + protected static void dropTable(SQLiteDatabase db, String table) { + db.beginTransaction(); + try { + db.execSQL("drop table " + table); + db.setTransactionSuccessful(); + } finally { + db.endTransaction(); + } + } } -- cgit v1.2.3