i'am пытается перенести данные из старой базы данных в новую версию базы данных при обновлении приложения, но когда я запускаю новую версию приложения ушли все данные там нет данныхAndroid SQLite все данные удалены при обновлении базы данных
Вот мои onUpgrade Код:
@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();
}
}
UPDATE проблема заключалась в том, что я имел измененную версию приложения на build.gradle с версией базы данных, поэтому каждый раз, когда я запустить приложение его Сотрите applciation с его файлами лол
вы уверены, что эти 2 строки вставки в выберите из без выбора, какие столбцы, которые работают? – gmetax