Upgrade db, add foreign key for download label
This commit is contained in:
1 parent
1c38dbaa0b
commit
29e3e876c7
5 files changed
+454
-9
No files matched your search
@@ -247,8 +247,8 @@ object EhDB {
|
||||
context.deleteDatabase(ehExportName)
|
||||
} use { newDb ->
|
||||
db.galleryDao().list().let { newDb.galleryDao().insertOrIgnore(it) }
|
||||
db.downloadsDao().list().let { newDb.downloadsDao().insert(it) }
|
||||
db.downloadLabelDao().list().let { newDb.downloadLabelDao().insert(it) }
|
||||
db.downloadsDao().list().let { newDb.downloadsDao().insert(it) }
|
||||
db.downloadDirnameDao().list().let { newDb.downloadDirnameDao().insert(it) }
|
||||
db.historyDao().list().let { newDb.historyDao().insertOrIgnore(it) }
|
||||
db.quickSearchDao().list().let { newDb.quickSearchDao().insert(it) }
|
||||
|
||||
@@ -108,8 +108,8 @@ class ThumbKeyMigration : AutoMigrationSpec {
|
||||
}
|
||||
|
||||
@Database(
|
||||
entities = [BaseGalleryInfo::class, DownloadEntity::class, DownloadLabel::class, DownloadDirname::class, Filter::class, HistoryInfo::class, LocalFavoriteInfo::class, QuickSearch::class],
|
||||
version = 15,
|
||||
entities = [BaseGalleryInfo::class, DownloadLabel::class, DownloadEntity::class, DownloadDirname::class, Filter::class, HistoryInfo::class, LocalFavoriteInfo::class, QuickSearch::class],
|
||||
version = 16,
|
||||
exportSchema = true,
|
||||
autoMigrations = [
|
||||
AutoMigration(
|
||||
@@ -163,6 +163,10 @@ class ThumbKeyMigration : AutoMigrationSpec {
|
||||
from = 14,
|
||||
to = 15,
|
||||
),
|
||||
AutoMigration(
|
||||
from = 15,
|
||||
to = 16,
|
||||
),
|
||||
],
|
||||
)
|
||||
@TypeConverters(FilterModeConverter::class)
|
||||
|
||||
@@ -12,7 +12,19 @@ import com.hippo.ehviewer.client.data.BaseGalleryInfo
|
||||
import com.hippo.ehviewer.client.data.GalleryInfo
|
||||
import java.time.Instant
|
||||
|
||||
@Entity(tableName = "DOWNLOADS", foreignKeys = [ForeignKey(BaseGalleryInfo::class, ["GID"], ["GID"])])
|
||||
@Entity(
|
||||
tableName = "DOWNLOADS",
|
||||
foreignKeys = [
|
||||
ForeignKey(BaseGalleryInfo::class, ["GID"], ["GID"]),
|
||||
ForeignKey(
|
||||
DownloadLabel::class,
|
||||
["LABEL"],
|
||||
["LABEL"],
|
||||
onDelete = ForeignKey.SET_NULL,
|
||||
onUpdate = ForeignKey.CASCADE,
|
||||
),
|
||||
],
|
||||
)
|
||||
class DownloadEntity(
|
||||
@PrimaryKey
|
||||
@ColumnInfo(name = "GID")
|
||||
@@ -27,7 +39,7 @@ class DownloadEntity(
|
||||
@ColumnInfo(name = "TIME")
|
||||
override var time: Long = Instant.now().toEpochMilli(),
|
||||
|
||||
@ColumnInfo(name = "LABEL")
|
||||
@ColumnInfo(name = "LABEL", index = true)
|
||||
override var label: String? = null,
|
||||
|
||||
@ColumnInfo(name = "POSITION")
|
||||
|
||||
@@ -708,8 +708,6 @@ object DownloadManager : OnSpiderListener {
|
||||
// Update info label
|
||||
for (info in list) {
|
||||
info.label = to
|
||||
// Update in DB
|
||||
EhDB.putDownloadInfo(info)
|
||||
}
|
||||
// Put list back with new label
|
||||
map[to] = list
|
||||
@@ -736,8 +734,6 @@ object DownloadManager : OnSpiderListener {
|
||||
// Update info label
|
||||
for (info in list) {
|
||||
info.label = null
|
||||
// Update in DB
|
||||
EhDB.putDownloadInfo(info)
|
||||
defaultInfoList.add(info)
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user