sql >> Databasteknik >  >> RDS >> Mysql

Entity Framework med MySql och Migrations misslyckas eftersom max nyckellängd är 767 byte

Svar omskrivet från Lägger till anpassad MigrationHistory-kontext ...

EF6 använder en MigrationHistory tabell för att hålla reda på modelländringar och för att säkerställa överensstämmelse mellan databasschemat och konceptuellt schema. Den här tabellen fungerar inte för MySQL som standard eftersom primärnyckeln är för stor . För att åtgärda denna situation måste du krympa nyckelstorleken för den tabellen.

I huvudsak låter EF6 dig ändra nyckelstorleken för MigrationId/ContextKey-indexkolumnerna med hjälp av Fluent API så här:

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

Fullständig Instruktioner här...



  1. hur man tar bort dubbletter av värden i mysql-tabellen

  2. Installera PostgreSQL på Ubuntu 18.04

  3. Hur man konverterar en sträng till hexadecimal i MySQL – HEX()

  4. Oracle Cloud:Skapa en ATP-databas (Autonomous Transaction Processing).