sql >> Databáze >  >> RDS >> Mysql

Zadaný klíč byl příliš dlouhý; maximální délka klíče je 767 bajtů - ASPNet Identity MySQL

Odpověď jsem našel sám.

Problém měl co do činění s uživatelským jménem a e-mailem v tabulce Uživatel. A pak Název v tabulce Role.

Přidal jsem maximální délku pro všechny tři v mé třídě IdentityModel. Tady to je:

    [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);
        }
    }
}

Jo a přidání DbConfigurationType to be MySQL řeší problém s tabulkou historie migrace (už jsem to věděl).

Nešťastný musefan




  1. Zabraňte ukládání změn, které vyžadují opětovné vytvoření tabulky, negativním účinkům

  2. Jak dynamicky pivotovat s datem jako sloupcem

  3. Nelze se připojit k Postgresql na portu 5432

  4. Jak obnovit databázi pomocí Správce zálohování