mirror of
https://github.com/szkolny-eu/szkolny-android.git
synced 2025-02-22 14:34:44 +01:00
[Database] Fix migrations from 3.2.1 to 4.0-beta.
This commit is contained in:
parent
60a3c38951
commit
78c5b6b2a5
@ -42,7 +42,7 @@ import pl.szczodrzynski.edziennik.data.db.migration.*
|
|||||||
ConfigEntry::class,
|
ConfigEntry::class,
|
||||||
LibrusLesson::class,
|
LibrusLesson::class,
|
||||||
Metadata::class
|
Metadata::class
|
||||||
], version = 76)
|
], version = 77)
|
||||||
@TypeConverters(
|
@TypeConverters(
|
||||||
ConverterTime::class,
|
ConverterTime::class,
|
||||||
ConverterDate::class,
|
ConverterDate::class,
|
||||||
@ -159,7 +159,8 @@ abstract class AppDb : RoomDatabase() {
|
|||||||
Migration73(),
|
Migration73(),
|
||||||
Migration74(),
|
Migration74(),
|
||||||
Migration75(),
|
Migration75(),
|
||||||
Migration76()
|
Migration76(),
|
||||||
|
Migration77()
|
||||||
).allowMainThreadQueries().build()
|
).allowMainThreadQueries().build()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ class Migration56 : Migration(55, 56) {
|
|||||||
profileId INTEGER NOT NULL,
|
profileId INTEGER NOT NULL,
|
||||||
lessonRangeNumber INTEGER NOT NULL,
|
lessonRangeNumber INTEGER NOT NULL,
|
||||||
lessonRangeStart TEXT NOT NULL,
|
lessonRangeStart TEXT NOT NULL,
|
||||||
LessonRangeEnd TEXT NOT NULL,
|
lessonRangeEnd TEXT NOT NULL,
|
||||||
PRIMARY KEY(profileId, lessonRangeNumber))""")
|
PRIMARY KEY(profileId, lessonRangeNumber))""")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,26 +10,25 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
class Migration76 : Migration(75, 76) {
|
class Migration76 : Migration(75, 76) {
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(database: SupportSQLiteDatabase) {
|
||||||
database.execSQL("ALTER TABLE feedbackMessages RENAME TO _feedbackMessages;")
|
database.execSQL("ALTER TABLE feedbackMessages RENAME TO _feedbackMessages;")
|
||||||
database.execSQL("CREATE TABLE feedbackMessages (\n" +
|
database.execSQL("""CREATE TABLE feedbackMessages (
|
||||||
"\tmessageId INTEGER NOT NULL PRIMARY KEY,\n" +
|
messageId INTEGER NOT NULL PRIMARY KEY,
|
||||||
"\treceived INTEGER NOT NULL,\n" +
|
received INTEGER NOT NULL,
|
||||||
"\ttext TEXT NOT NULL,\n" +
|
text TEXT NOT NULL,
|
||||||
"\tsenderName TEXT NOT NULL,\n" +
|
senderName TEXT NOT NULL,
|
||||||
"\tdeviceId TEXT DEFAULT NULL,\n" +
|
deviceId TEXT DEFAULT NULL,
|
||||||
"\tdeviceName TEXT DEFAULT NULL,\n" +
|
deviceName TEXT DEFAULT NULL,
|
||||||
"\tdevId INTEGER DEFAULT NULL,\n" +
|
devId INTEGER DEFAULT NULL,
|
||||||
"\tdevImage TEXT DEFAULT NULL,\n" +
|
devImage TEXT DEFAULT NULL,
|
||||||
"\tsentTime INTEGER NOT NULL\n" +
|
sentTime INTEGER NOT NULL);""")
|
||||||
");")
|
database.execSQL("""INSERT INTO feedbackMessages (messageId, received, text, senderName, deviceId, deviceName, devId, devImage, sentTime)
|
||||||
database.execSQL("INSERT INTO feedbackMessages (messageId, received, text, senderName, deviceId, deviceName, devId, devImage, sentTime)\n" +
|
SELECT messageId, received, text,
|
||||||
"SELECT messageId, received, text,\n" +
|
CASE fromUser IS NOT NULL WHEN 1 THEN CASE fromUserName IS NULL WHEN 1 THEN "" ELSE fromUserName END ELSE "" END AS senderName,
|
||||||
"CASE fromUser IS NOT NULL WHEN 1 THEN CASE fromUserName IS NULL WHEN 1 THEN \"\" ELSE fromUserName END ELSE \"\" END AS senderName,\n" +
|
fromUser AS deviceId,
|
||||||
"fromUser AS deviceId,\n" +
|
NULL AS deviceName,
|
||||||
"NULL AS deviceName,\n" +
|
CASE received AND fromUser IS NULL WHEN 1 THEN 100 ELSE NULL END AS devId,
|
||||||
"CASE received AND fromUser IS NULL WHEN 1 THEN 100 ELSE NULL END AS devId,\n" +
|
NULL AS devImage,
|
||||||
"NULL AS devImage,\n" +
|
sentTime
|
||||||
"sentTime\n" +
|
FROM _feedbackMessages;""")
|
||||||
"FROM _feedbackMessages;")
|
|
||||||
database.execSQL("DROP TABLE _feedbackMessages;")
|
database.execSQL("DROP TABLE _feedbackMessages;")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
package pl.szczodrzynski.edziennik.data.db.migration
|
||||||
|
|
||||||
|
import androidx.room.migration.Migration
|
||||||
|
import androidx.sqlite.db.SupportSQLiteDatabase
|
||||||
|
|
||||||
|
class Migration77 : Migration(76, 77) {
|
||||||
|
override fun migrate(database: SupportSQLiteDatabase) {
|
||||||
|
database.execSQL("DROP TABLE lessonRanges")
|
||||||
|
database.execSQL("""CREATE TABLE IF NOT EXISTS lessonRanges (
|
||||||
|
profileId INTEGER NOT NULL,
|
||||||
|
lessonRangeNumber INTEGER NOT NULL,
|
||||||
|
lessonRangeStart TEXT NOT NULL,
|
||||||
|
lessonRangeEnd TEXT NOT NULL,
|
||||||
|
PRIMARY KEY(profileId, lessonRangeNumber))""")
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user