Я опубликовал свой проект Asp.NET в Plesk, он был успешно выполнен.Теперь мне нужно обновить базу данных с помощью PM, но она создает таблицу для «ASPNETROLES», а затем выдает исключение.
Указанный ключ был слишком длинным;максимальная длина ключа составляет 767 байт
Я нашел следующие решения, но ни одно из них не сработало:
https://bugs.mysql.com/bug.php?id=81817
Указанный ключ был слишком длинным;максимальная длина ключа составляет 767 байт. Mysql ошибка в Entity Framework 6
Я пробовал следующий код, но не смог:
[DbConfigurationType(typeof(MySqlEFConfiguration))]
public class AppIdentityDbContext : IdentityDbContext<ApplicationUser>
{
public AppIdentityDbContext() : base("myConnection")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<HistoryRow>().HasKey<string>(h => h.MigrationId);
modelBuilder.Entity<HistoryRow>().Property(h => h.MigrationId).HasMaxLength(100).IsRequired();
modelBuilder.Entity<HistoryRow>().Property(h => h.ContextKey).HasMaxLength(200).IsRequired();
modelBuilder.Entity<ApplicationUser>().Property(u => u.Id).HasMaxLength(128);
modelBuilder.Entity<ApplicationUser>().Property(u => u.UserName).HasMaxLength(128);
modelBuilder.Entity<ApplicationUser>().Property(u => u.Email).HasMaxLength(128);
modelBuilder.Entity<IdentityRole>().Property(r => r.Name).HasMaxLength(128);
}
При создании всех таблиц ASPNET следует также установить основнойключ к автоматическому приращению.
Может, кто-нибудь поделится руководством по развертыванию в Plesk?