public void onUpgradeDatabase(SQLiteDatabase database, int oldVersion, int newVersion) {
		for (ContractHolder contract : contracts) {
			if (!openHelper.hasTableInDatabase(database, contract)) {
				openHelper.createTable(database, contract);
			} else {
				openHelper.addMissingColumnsInTable(database, contract);
			}
		}
	}
Called when the database needs to be upgraded. </br></br>
Call {@code super.onUpgradeDatabase(database, oldVersion, newVersion)} to:
<ul>
<li>Automatically add columns if some are missing.</li>
<li>Automatically create tables and needed columns for new added {@link Contract}s.</li>
</ul>
Anything else related to database upgrade should be done here.
<p>
This method executes within a transaction. If an exception is thrown, all changes
will automatically be rolled back.
</p>
@param database The database.
@param oldVersion The old database version (same as contract old version).
@param newVersion The new database version (same as contract new version).
samples/actionbarcompat/src/com/tjeannin/provigen/ProviGenProvider.java