mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-15 05:47:56 -07:00
Android: Handle a database downgrade.
This has no effect now, as we've never bumped the database version. Instead, it adds future proofing, and makes moving between a future version with a bump and master clean.
This commit is contained in:
parent
4dc425b9c9
commit
74ae2522fe
@ -78,6 +78,7 @@ public final class GameDatabase extends SQLiteOpenHelper
|
||||
+ KEY_DB_ID + TYPE_PRIMARY + SEPARATOR
|
||||
+ KEY_FOLDER_PATH + TYPE_STRING + CONSTRAINT_UNIQUE + ")";
|
||||
|
||||
private static final String SQL_DELETE_FOLDERS = "DROP TABLE IF EXISTS " + TABLE_NAME_FOLDERS;
|
||||
private static final String SQL_DELETE_GAMES = "DROP TABLE IF EXISTS " + TABLE_NAME_GAMES;
|
||||
|
||||
public GameDatabase(Context context)
|
||||
@ -91,11 +92,19 @@ public final class GameDatabase extends SQLiteOpenHelper
|
||||
{
|
||||
Log.debug("[GameDatabase] GameDatabase - Creating database...");
|
||||
|
||||
Log.verbose("[GameDatabase] Executing SQL: " + SQL_CREATE_GAMES);
|
||||
database.execSQL(SQL_CREATE_GAMES);
|
||||
execSqlAndLog(database, SQL_CREATE_GAMES);
|
||||
execSqlAndLog(database, SQL_CREATE_FOLDERS);
|
||||
}
|
||||
|
||||
Log.verbose("[GameDatabase] Executing SQL: " + SQL_CREATE_FOLDERS);
|
||||
database.execSQL(SQL_CREATE_FOLDERS);
|
||||
@Override
|
||||
public void onDowngrade(SQLiteDatabase database, int oldVersion, int newVersion)
|
||||
{
|
||||
Log.verbose("[GameDatabase] Downgrades not supporting, clearing databases..");
|
||||
execSqlAndLog(database, SQL_DELETE_FOLDERS);
|
||||
execSqlAndLog(database, SQL_CREATE_FOLDERS);
|
||||
|
||||
execSqlAndLog(database, SQL_DELETE_GAMES);
|
||||
execSqlAndLog(database, SQL_CREATE_GAMES);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -103,11 +112,9 @@ public final class GameDatabase extends SQLiteOpenHelper
|
||||
{
|
||||
Log.info("[GameDatabase] Upgrading database from schema version " + oldVersion + " to " + newVersion);
|
||||
|
||||
Log.verbose("[GameDatabase] Executing SQL: " + SQL_DELETE_GAMES);
|
||||
database.execSQL(SQL_DELETE_GAMES);
|
||||
|
||||
Log.verbose("[GameDatabase] Executing SQL: " + SQL_CREATE_GAMES);
|
||||
database.execSQL(SQL_CREATE_GAMES);
|
||||
// Delete all the games
|
||||
execSqlAndLog(database, SQL_DELETE_GAMES);
|
||||
execSqlAndLog(database, SQL_CREATE_GAMES);
|
||||
|
||||
Log.verbose("[GameDatabase] Re-scanning library with new schema.");
|
||||
scanLibrary(database);
|
||||
@ -283,4 +290,10 @@ public final class GameDatabase extends SQLiteOpenHelper
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void execSqlAndLog(SQLiteDatabase database, String sql)
|
||||
{
|
||||
Log.verbose("[GameDatabase] Executing SQL: " + sql);
|
||||
database.execSQL(sql);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user