mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-06-20 17:58:01 +02:00
Merge pull request #4385 from advplyr/clean_duplicate_mediaprogress
Update cleanDatabase to remove duplicate mediaProgresses
This commit is contained in:
commit
4a3eb7727b
@ -765,6 +765,15 @@ class Database {
|
|||||||
if (badSessionsRemoved > 0) {
|
if (badSessionsRemoved > 0) {
|
||||||
Logger.warn(`Removed ${badSessionsRemoved} sessions that were 3 seconds or less`)
|
Logger.warn(`Removed ${badSessionsRemoved} sessions that were 3 seconds or less`)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Remove mediaProgresses with duplicate mediaItemId (remove the oldest updatedAt)
|
||||||
|
const [duplicateMediaProgresses] = await this.sequelize.query(`SELECT id, mediaItemId FROM mediaProgresses WHERE (mediaItemId, updatedAt) IN (SELECT mediaItemId, MIN(updatedAt) FROM mediaProgresses GROUP BY mediaItemId HAVING COUNT(*) > 1)`)
|
||||||
|
for (const duplicateMediaProgress of duplicateMediaProgresses) {
|
||||||
|
Logger.warn(`Found duplicate mediaProgress for mediaItem "${duplicateMediaProgress.mediaItemId}" - removing it`)
|
||||||
|
await this.mediaProgressModel.destroy({
|
||||||
|
where: { id: duplicateMediaProgress.id }
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async createTextSearchQuery(query) {
|
async createTextSearchQuery(query) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user