I'am trying to move data from old database to new database version when upgrading application but when i run the new version of app all data is gone there's no data
Here's My onUpgrade Code :
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
try {
if (oldVersion < newVersion) {
Log.v("ONUPRGADE", "ITS HEREEEEEEEE");
db.beginTransaction();
db.execSQL("ALTER TABLE " + TABLE_NAME + " RENAME TO " + "temp_" + TABLE_NAME + ";");
db.execSQL("ALTER TABLE atomicid" + " RENAME TO " + "temp_atomicid;");
String Create_Table = "CREATE TABLE " + TABLE_NAME + " ( " + PRIMARY_KEY + " INTEGER PRIMARY KEY AUTOINCREMENT , "
+ ALARM_NAME + " TEXT NOT NULL , " + ALARM_TIME + " TEXT NOT NULL , " + DAY_OR_NIGHT + " TEXT NOT NULL , "
+ Tone + " TEXT NOT NULL , " + SUNDAY + " TEXT , " + MONDEY + " TEXT , " + TUESDAY
+ " TEXT , " + WEDNESDAY + " TEXT , " + THURSDAY + " TEXT , "
+ FRIDAY + " TEXT , " + SATARDAY + " TEXT , " + repeatWeekly + " INTEGER ); ";
String AtomicIdTable = "CREATE TABLE atomicid(_id INTEGER PRIMARY KEY , alarmid INTEGER ,day TEXT);";
db.execSQL(Create_Table);
db.execSQL(AtomicIdTable);
db.execSQL("INSERT INTO " + TABLE_NAME + " SELECT FROM temp_" + TABLE_NAME + ";");
db.execSQL("INSERT INTO atomicid" + " SELECT FROM temp_atomicid" + ";");
db.execSQL("DROP TABLE temp_" + TABLE_NAME + " IF EXISTS;");
db.execSQL("DROP TABLE temp_atomicid" + " IF EXISTS;");
db.setTransactionSuccessful();
;
onCreate(db);
} else {
Log.v("ONUPRGADE", "ELSEEEEEEEEEEEE");
db.execSQL("DROP TABLE " + TABLE_NAME + " IF EXISTS;");
db.execSQL("DROP TABLE atomicid" + " IF EXISTS;");
db.endTransaction();
onCreate(db);
}
} finally {
db.endTransaction();
}
}
Aucun commentaire:
Enregistrer un commentaire