mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-06-22 23:11:11 -04:00
Fix indices and update of ItemValues (#13843)
This commit is contained in:
parent
2264d58ae7
commit
0e7ae0e9a4
@ -535,7 +535,7 @@ public sealed class BaseItemRepository
|
|||||||
if (!localItemValueCache.TryGetValue(itemValue, out var refValue))
|
if (!localItemValueCache.TryGetValue(itemValue, out var refValue))
|
||||||
{
|
{
|
||||||
refValue = context.ItemValues
|
refValue = context.ItemValues
|
||||||
.Where(f => f.CleanValue == GetCleanValue(itemValue.Value) && (int)f.Type == itemValue.MagicNumber)
|
.Where(f => f.Value == itemValue.Value && (int)f.Type == itemValue.MagicNumber)
|
||||||
.Select(e => e.ItemValueId)
|
.Select(e => e.ItemValueId)
|
||||||
.FirstOrDefault();
|
.FirstOrDefault();
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,7 @@ public class ItemValuesConfiguration : IEntityTypeConfiguration<ItemValue>
|
|||||||
public void Configure(EntityTypeBuilder<ItemValue> builder)
|
public void Configure(EntityTypeBuilder<ItemValue> builder)
|
||||||
{
|
{
|
||||||
builder.HasKey(e => e.ItemValueId);
|
builder.HasKey(e => e.ItemValueId);
|
||||||
builder.HasIndex(e => new { e.Type, e.CleanValue }).IsUnique();
|
builder.HasIndex(e => new { e.Type, e.CleanValue });
|
||||||
|
builder.HasIndex(e => new { e.Type, e.Value }).IsUnique();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,47 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Jellyfin.Server.Implementations.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class FixItemValuesIndices : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropIndex(
|
||||||
|
name: "IX_ItemValues_Type_CleanValue",
|
||||||
|
table: "ItemValues");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_ItemValues_Type_CleanValue",
|
||||||
|
table: "ItemValues",
|
||||||
|
columns: new[] { "Type", "CleanValue" });
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_ItemValues_Type_Value",
|
||||||
|
table: "ItemValues",
|
||||||
|
columns: new[] { "Type", "Value" },
|
||||||
|
unique: true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropIndex(
|
||||||
|
name: "IX_ItemValues_Type_CleanValue",
|
||||||
|
table: "ItemValues");
|
||||||
|
|
||||||
|
migrationBuilder.DropIndex(
|
||||||
|
name: "IX_ItemValues_Type_Value",
|
||||||
|
table: "ItemValues");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_ItemValues_Type_CleanValue",
|
||||||
|
table: "ItemValues",
|
||||||
|
columns: new[] { "Type", "CleanValue" },
|
||||||
|
unique: true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -722,7 +722,9 @@ namespace Jellyfin.Server.Implementations.Migrations
|
|||||||
|
|
||||||
b.HasKey("ItemValueId");
|
b.HasKey("ItemValueId");
|
||||||
|
|
||||||
b.HasIndex("Type", "CleanValue")
|
b.HasIndex("Type", "CleanValue");
|
||||||
|
|
||||||
|
b.HasIndex("Type", "Value")
|
||||||
.IsUnique();
|
.IsUnique();
|
||||||
|
|
||||||
b.ToTable("ItemValues");
|
b.ToTable("ItemValues");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user