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

Entity Framework se selháním MySql a migrací, protože maximální délka klíče je 767 bajtů

Odpověď parafrázovaná z Přidání vlastního kontextu MigrationHistory ...

EF6 používá Historie migrace tabulky, abyste mohli sledovat změny modelu a zajistit konzistenci mezi schématem databáze a koncepčním schématem. Tato tabulka ve výchozím nastavení nefunguje pro MySQL, protože primární klíč je příliš velký . Chcete-li tuto situaci napravit, budete muset zmenšit velikost klíče pro tuto tabulku.

EF6 vám v podstatě umožňuje upravit velikost klíče pro indexové sloupce MigrationId/ContextKey pomocí Fluent API takto:

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

Dokončit Pokyny zde...



  1. Analyzujte json prostřednictvím json_table v oracle 18

  2. Který z nich je rychlejší:korelované poddotazy nebo spojení?

  3. Nesprávná syntaxe poblíž ')' volání uložené procedury s GETDATE

  4. DATEDIFF_BIG() Příklady v SQL Server