From 0a5b46655a3de1dd800aa50028286691d5442d4d Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Thu, 10 Aug 2023 21:52:19 +0200 Subject: [PATCH] Bugfix: database migration 36 did not update TrackPoint.type data (removal of SENSORPOINT). Introduced in c0b5e719763776206222a4b39557b2e2981b84ed Fixes #1663. --- .../de/dennisguse/opentracks/data/CustomSQLiteOpenHelper.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/dennisguse/opentracks/data/CustomSQLiteOpenHelper.java b/src/main/java/de/dennisguse/opentracks/data/CustomSQLiteOpenHelper.java index a92e2119a..434f8d13a 100644 --- a/src/main/java/de/dennisguse/opentracks/data/CustomSQLiteOpenHelper.java +++ b/src/main/java/de/dennisguse/opentracks/data/CustomSQLiteOpenHelper.java @@ -58,8 +58,9 @@ public class CustomSQLiteOpenHelper extends SQLiteOpenHelper { @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + Log.i(TAG, "Upgrade from " + oldVersion + " to " + newVersion); for (int toVersion = oldVersion + 1; toVersion <= newVersion; toVersion++) { - Log.i(TAG, "Upgrade from " + oldVersion + " to " + toVersion); + Log.i(TAG, ".. upgrading to " + toVersion); switch (toVersion) { case 24 -> upgradeFrom23to24(db); case 25 -> upgradeFrom24to25(db); @@ -538,6 +539,7 @@ public class CustomSQLiteOpenHelper extends SQLiteOpenHelper { private void upgradeFrom35to36(SQLiteDatabase db) { db.beginTransaction(); + db.execSQL("UPDATE trackpoints SET type = 0 WHERE type = 2"); //SENSORPOINTs are now TRACKPOINTs db.execSQL("ALTER TABLE trackpoints RENAME TO trackpoints_old"); db.execSQL("CREATE TABLE trackpoints (_id INTEGER PRIMARY KEY AUTOINCREMENT, trackid INTEGER NOT NULL, longitude INTEGER, latitude INTEGER, time INTEGER, elevation FLOAT, accuracy FLOAT, speed FLOAT, bearing FLOAT, sensor_heartrate FLOAT, sensor_cadence FLOAT, sensor_power FLOAT, elevation_gain FLOAT, elevation_loss FLOAT, type TEXT CHECK(type IN (-2, -1, 0, 1, 3)), sensor_distance FLOAT, accuracy_vertical FLOAT, FOREIGN KEY (trackid) REFERENCES tracks(_id) ON UPDATE CASCADE ON DELETE CASCADE)"); db.execSQL("INSERT INTO trackpoints SELECT _id, trackid, longitude, latitude, time, elevation, accuracy, speed, bearing, sensor_heartrate, sensor_cadence, sensor_power, elevation_gain, elevation_gain, type, sensor_distance, accuracy_vertical FROM trackpoints_old");