aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Barron <barronpm@gmail.com>2021-03-18 20:24:37 -0400
committerPatrick Barron <barronpm@gmail.com>2021-03-25 19:51:27 -0400
commita07ad7122281247a48c1f8a48588f49c6f64f2c4 (patch)
tree4bb34feb82d4d2c96d90d2a4066792d27e195cb9
parent3c4187e7803afd1d95eac20b30d2063ca2134413 (diff)
Use NOCASE collation and index on username field
-rw-r--r--Jellyfin.Server.Implementations/JellyfinDb.cs13
1 files changed, 13 insertions, 0 deletions
diff --git a/Jellyfin.Server.Implementations/JellyfinDb.cs b/Jellyfin.Server.Implementations/JellyfinDb.cs
index a2eaea3ca..2ee6f625f 100644
--- a/Jellyfin.Server.Implementations/JellyfinDb.cs
+++ b/Jellyfin.Server.Implementations/JellyfinDb.cs
@@ -149,6 +149,14 @@ namespace Jellyfin.Server.Implementations
modelBuilder.HasDefaultSchema("jellyfin");
+ // Collations
+
+ modelBuilder.Entity<User>()
+ .Property(user => user.Username)
+ .UseCollation("NOCASE");
+
+ // Delete behavior
+
modelBuilder.Entity<User>()
.HasOne(u => u.ProfileImage)
.WithOne()
@@ -174,6 +182,11 @@ namespace Jellyfin.Server.Implementations
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
+ // Indexes
+
+ modelBuilder.Entity<User>()
+ .HasIndex(entity => entity.Username)
+ .IsUnique();
modelBuilder.Entity<DisplayPreferences>()
.HasIndex(entity => new { entity.UserId, entity.ItemId, entity.Client })