Add Unique constraint to user name index by default.
This commit is contained in:
parent
67b0bc68dc
commit
0bf7ff2418
|
|
@ -116,7 +116,7 @@ namespace Microsoft.AspNetCore.Identity.EntityFrameworkCore
|
||||||
builder.Entity<TUser>(b =>
|
builder.Entity<TUser>(b =>
|
||||||
{
|
{
|
||||||
b.HasKey(u => u.Id);
|
b.HasKey(u => u.Id);
|
||||||
b.HasIndex(u => u.NormalizedUserName).HasName("UserNameIndex");
|
b.HasIndex(u => u.NormalizedUserName).HasName("UserNameIndex").IsUnique();
|
||||||
b.HasIndex(u => u.NormalizedEmail).HasName("EmailIndex");
|
b.HasIndex(u => u.NormalizedEmail).HasName("EmailIndex");
|
||||||
b.ToTable("AspNetUsers");
|
b.ToTable("AspNetUsers");
|
||||||
b.Property(u => u.ConcurrencyStamp).IsConcurrencyToken();
|
b.Property(u => u.ConcurrencyStamp).IsConcurrencyToken();
|
||||||
|
|
|
||||||
|
|
@ -117,7 +117,7 @@ namespace Microsoft.AspNetCore.Identity.EntityFrameworkCore.Test
|
||||||
Assert.True(VerifyColumns(db, "AspNetUserTokens", "UserId", "LoginProvider", "Name", "Value"));
|
Assert.True(VerifyColumns(db, "AspNetUserTokens", "UserId", "LoginProvider", "Name", "Value"));
|
||||||
|
|
||||||
VerifyIndex(db, "AspNetRoles", "RoleNameIndex");
|
VerifyIndex(db, "AspNetRoles", "RoleNameIndex");
|
||||||
VerifyIndex(db, "AspNetUsers", "UserNameIndex");
|
VerifyIndex(db, "AspNetUsers", "UserNameIndex", isUnique: true);
|
||||||
VerifyIndex(db, "AspNetUsers", "EmailIndex");
|
VerifyIndex(db, "AspNetUsers", "EmailIndex");
|
||||||
db.Close();
|
db.Close();
|
||||||
}
|
}
|
||||||
|
|
@ -146,15 +146,16 @@ namespace Microsoft.AspNetCore.Identity.EntityFrameworkCore.Test
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal static void VerifyIndex(SqlConnection conn, string table, string index)
|
internal static void VerifyIndex(SqlConnection conn, string table, string index, bool isUnique = false)
|
||||||
{
|
{
|
||||||
using (
|
using (
|
||||||
var command =
|
var command =
|
||||||
new SqlCommand(
|
new SqlCommand(
|
||||||
"SELECT COUNT(*) FROM sys.indexes where NAME=@Index AND object_id = OBJECT_ID(@Table)", conn))
|
"SELECT COUNT(*) FROM sys.indexes where NAME=@Index AND object_id = OBJECT_ID(@Table) AND is_unique = @Unique", conn))
|
||||||
{
|
{
|
||||||
command.Parameters.Add(new SqlParameter("Index", index));
|
command.Parameters.Add(new SqlParameter("Index", index));
|
||||||
command.Parameters.Add(new SqlParameter("Table", table));
|
command.Parameters.Add(new SqlParameter("Table", table));
|
||||||
|
command.Parameters.Add(new SqlParameter("Unique", isUnique));
|
||||||
using (var reader = command.ExecuteReader())
|
using (var reader = command.ExecuteReader())
|
||||||
{
|
{
|
||||||
Assert.True(reader.Read());
|
Assert.True(reader.Read());
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue