sql >> Base de Datos >  >> RDS >> Mysql

Entity Framework con MySql y las migraciones fallan porque la longitud máxima de la clave es de 767 bytes

Respuesta parafraseada de Agregar contexto de Historial de migración personalizado ...

EF6 usa un Historial de migración tabla para realizar un seguimiento de los cambios del modelo y garantizar la coherencia entre el esquema de la base de datos y el esquema conceptual. Esta tabla no funciona para MySQL de forma predeterminada porque la clave principal es demasiado grande . Para remediar esta situación, deberá reducir el tamaño de la clave para esa tabla.

Esencialmente, EF6 le permite modificar el tamaño de clave para las columnas de índice de MigrationId/ContextKey usando Fluent API de la siguiente manera:

modelBuilder.Entity<HistoryRow>().Property(h => h.MigrationId).HasMaxLength(100).IsRequired();
modelBuilder.Entity<HistoryRow>().Property(h => h.ContextKey).HasMaxLength(200).IsRequired();

Completado Instrucciones aquí...