sql >> Databasteknik >  >> RDS >> SQLite

Har onUpgrade-metoden någonsin anropats?

För er som vill veta det exakta ögonblicket när onUpgrade() anropas, är det under ett anrop till antingen getReadableDatabase() eller getWriteableDatabase() .

Till dem som inte är tydliga hur det säkerställer att det utlöses, är svaret:Det utlöses när databasversionen tillhandahålls till konstruktören av SqLiteOpenHelper är uppdaterad. Här är ett exempel

public class dbSchemaHelper extends SQLiteOpenHelper {

private String sql;
private final String D_TAG = "FundExpense";
//update this to get onUpgrade() method of sqliteopenhelper class called
static final int DB_VERSION = 2; 
static final String DB_NAME = "fundExpenseManager";

public dbSchemaHelper(Context context) {
    super(context, DB_NAME, null, DB_VERSION);
    // TODO Auto-generated constructor stub
}

nu till...onUpgrade()

@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
    sql = "ALTER TABLE " + fundExpenseSchema.Expense.TABLE_NAME + " ADD COLUMN " + fundExpenseSchema.Expense.FUNDID + " INTEGER";
    arg0.execSQL(sql);
}


  1. Skapa ett ER-diagram i pgAdmin

  2. Saker att veta om databasdrivna webbplatser

  3. Hur SUBDATE() fungerar i MariaDB

  4. PostgreSQL:hur man installerar plpythonu-tillägget