@Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.v(TAG, "upgrading database from version " + oldVersion + " to " + newVersion); for (Entry<String, SQLiteTableCreator> entry : createStatements.entrySet()) { if (createdTable.contains(entry.getKey())) { Log.v(TAG, "Table " + entry.getKey() + " already in DB."); } else { Log.v(TAG, "Creating table: " + entry.getKey()); SQLiteTableCreator creator = entry.getValue(); db.execSQL(DatabaseUtils.getCreateStatement(creator)); if (creator.isOneToMany()) { for (String trigger : creator.getTriggers()) { db.execSQL(trigger); } } createdTable.add(entry.getKey()); } } }