sql >> Database teknologi >  >> RDS >> Mysql

Den angivne nøgle var for lang; max nøglelængde er 767 bytes - ASPNet Identity MySQL

Jeg fandt selv svaret.

Problemet var at gøre med brugernavn og e-mail i brugertabellen. Og så navnet i rolletabellen.

Jeg tilføjede en maksimal længde for alle tre i min IdentityModel-klasse. Her er den:

[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))] public class ApplicationDbContext : IdentityDbContext<ApplicationUser> { public ApplicationDbContext() : base("CaptureDBContext", throwIfV1Schema: false) { } public static ApplicationDbContext Create() { return new ApplicationDbContext(); } protected override void OnModelCreating(DbModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity<ApplicationUser>().Property(u => u.UserName).HasMaxLength(255); modelBuilder.Entity<ApplicationUser>().Property(u => u.Email).HasMaxLength(255); modelBuilder.Entity<IdentityRole>().Property(r => r.Name).HasMaxLength(255); } } }

Åh, og tilføjelse af DbConfigurationType at være MySQL løser problemet med migrationshistoriktabellen (det vidste jeg allerede).

Uheldig musefan




  1. Parametriseret forespørgsel i Oracle-problemer

  2. Hvordan gemmer man et array i mysql?

  3. Fejl (1093):Du kan ikke opdatere måltabellen til opdatering i FROM-klausulen

  4. Returner dag, måned og år i MySQL