Compare commits

..

No commits in common. "1f7be58124dce737ac252d08a7eefaa6990a6077" and "693dc00fa30365bb3a96c87c2a1c38564ead4457" have entirely different histories.

2 changed files with 9 additions and 20 deletions

View file

@ -57,7 +57,7 @@ WORKDIR /app
# Copy compiled frontend and server from build stages # Copy compiled frontend and server from build stages
COPY --from=build-client /client/dist /app/client/dist COPY --from=build-client /client/dist /app/client/dist
COPY --from=build-server /server /app COPY --from=build-server /server /app
COPY --from=build-server ${NUSQLITE3_PATH} ${NUSQLITE3_PATH} COPY --from=build-server /usr/local/lib/nusqlite3 /usr/local/lib/nusqlite3
EXPOSE 80 EXPOSE 80

View file

@ -766,25 +766,14 @@ class Database {
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 or if updatedAt is the same, remove arbitrary one) // Remove mediaProgresses with duplicate mediaItemId (remove the oldest updatedAt)
const [duplicateMediaProgresses] = await this.sequelize.query(`SELECT mp1.id, mp1.mediaItemId // const [duplicateMediaProgresses] = await this.sequelize.query(`SELECT id, mediaItemId FROM mediaProgresses WHERE (mediaItemId, userId, updatedAt) IN (SELECT mediaItemId, userId, MIN(updatedAt) FROM mediaProgresses GROUP BY mediaItemId, userId HAVING COUNT(*) > 1)`)
FROM mediaProgresses mp1 // for (const duplicateMediaProgress of duplicateMediaProgresses) {
WHERE EXISTS ( // Logger.warn(`Found duplicate mediaProgress for mediaItem "${duplicateMediaProgress.mediaItemId}" - removing it`)
SELECT 1 // await this.mediaProgressModel.destroy({
FROM mediaProgresses mp2 // where: { id: duplicateMediaProgress.id }
WHERE mp2.mediaItemId = mp1.mediaItemId // })
AND mp2.userId = mp1.userId // }
AND (
mp2.updatedAt > mp1.updatedAt
OR (mp2.updatedAt = mp1.updatedAt AND mp2.id < mp1.id)
)
)`)
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) {