mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01: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…
	
		Reference in New Issue
	
	Block a user