Merge pull request #4385 from advplyr/clean_duplicate_mediaprogress

Update cleanDatabase to remove duplicate mediaProgresses
This commit is contained in:
advplyr 2025-06-06 17:17:43 -05:00 committed by GitHub
commit 4a3eb7727b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -765,6 +765,15 @@ class Database {
if (badSessionsRemoved > 0) {
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) {