[PR #14654] [CLOSED] Fix duplicate people insertion #14064

Closed
opened 2026-02-07 07:23:47 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/jellyfin/jellyfin/pull/14654
Author: @evan314159
Created: 8/16/2025
Status: Closed

Base: masterHead: remove-duplicate-people


📝 Commits (1)

  • b468492 Fix duplicate inserts into Peoples

📊 Changes

11 files changed (+3803 additions, -26 deletions)

View changed files

📝 Jellyfin.Server.Implementations/Item/PeopleRepository.cs (+77 -17)
📝 Jellyfin.Server/Migrations/Routines/MigrateLibraryDb.cs (+1 -5)
Jellyfin.Server/Migrations/Routines/RemoveDuplicatePeopleStage2.cs (+169 -0)
📝 MediaBrowser.Controller/Entities/PersonInfo.cs (+0 -1)
📝 src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/People.cs (+1 -1)
📝 src/Jellyfin.Database/Jellyfin.Database.Implementations/ModelConfiguration/PeopleConfiguration.cs (+1 -1)
src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/20250920052132_RemoveDuplicatePeopleStage1.Designer.cs (+1722 -0)
src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/20250920052132_RemoveDuplicatePeopleStage1.cs (+50 -0)
src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/20250920052210_RemoveDuplicatePeopleStage3.Designer.cs (+1723 -0)
src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/20250920052210_RemoveDuplicatePeopleStage3.cs (+56 -0)
📝 src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/JellyfinDbModelSnapshot.cs (+3 -1)

📄 Description

Prevent duplicate records in Peoples by checking for existing records before bulk-inserting into Peoples and PeopleBaseItemMap.

Implements migration to cleanup existing duplicate records:

  • Consolidates duplicate People records by (Name, PersonType)
  • Updates PeopleBaseItemMap to point to canonical People records
  • Removes duplicate mappings and orphaned records
  • Makes PersonType column NOT NULL with unique constraint
  • Creates unique index on (Name, PersonType)

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/jellyfin/jellyfin/pull/14654 **Author:** [@evan314159](https://github.com/evan314159) **Created:** 8/16/2025 **Status:** ❌ Closed **Base:** `master` ← **Head:** `remove-duplicate-people` --- ### 📝 Commits (1) - [`b468492`](https://github.com/jellyfin/jellyfin/commit/b46849252f54ce0115dbe470bc891f36f5a645d7) Fix duplicate inserts into Peoples ### 📊 Changes **11 files changed** (+3803 additions, -26 deletions) <details> <summary>View changed files</summary> 📝 `Jellyfin.Server.Implementations/Item/PeopleRepository.cs` (+77 -17) 📝 `Jellyfin.Server/Migrations/Routines/MigrateLibraryDb.cs` (+1 -5) ➕ `Jellyfin.Server/Migrations/Routines/RemoveDuplicatePeopleStage2.cs` (+169 -0) 📝 `MediaBrowser.Controller/Entities/PersonInfo.cs` (+0 -1) 📝 `src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/People.cs` (+1 -1) 📝 `src/Jellyfin.Database/Jellyfin.Database.Implementations/ModelConfiguration/PeopleConfiguration.cs` (+1 -1) ➕ `src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/20250920052132_RemoveDuplicatePeopleStage1.Designer.cs` (+1722 -0) ➕ `src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/20250920052132_RemoveDuplicatePeopleStage1.cs` (+50 -0) ➕ `src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/20250920052210_RemoveDuplicatePeopleStage3.Designer.cs` (+1723 -0) ➕ `src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/20250920052210_RemoveDuplicatePeopleStage3.cs` (+56 -0) 📝 `src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/JellyfinDbModelSnapshot.cs` (+3 -1) </details> ### 📄 Description Prevent duplicate records in Peoples by checking for existing records before bulk-inserting into Peoples and PeopleBaseItemMap. Implements migration to cleanup existing duplicate records: - Consolidates duplicate People records by (Name, PersonType) - Updates PeopleBaseItemMap to point to canonical People records - Removes duplicate mappings and orphaned records - Makes PersonType column NOT NULL with unique constraint - Creates unique index on (Name, PersonType) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-07 07:23:47 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#14064