Mysql
 sql >> Baza danych >  >> RDS >> Mysql

EF Core `update-database` w MySql kończy się niepowodzeniem z `__EFMigrationsHistory' nie istnieje`

Nie jest to związane z ASP.NET Identity ani ASP.NET Core. Jest to ogólnie związane z Entity Framework. Podczas aktualizowania bazy danych EF używa __EFMigrationsHistory do rejestrowania, które migracje zostały wykonane, aby nie wykonywać ich ponownie w przyszłości.

Ta funkcja jest implementowana przez dostawcę bazy danych , a nie sam plik EF. Był co najmniej jeden przypadek, w którym dostawca Npgsql dla PostgresSQL nie utworzył tabeli .

Rozwiązanie jest proste - stwórz stół samodzielnie :

CREATE TABLE `__EFMigrationsHistory` 
( 
    `MigrationId` nvarchar(150) NOT NULL, 
    `ProductVersion` nvarchar(32) NOT NULL, 
     PRIMARY KEY (`MigrationId`) 
);

AKTUALIZUJ

Był inny podobne pytanie w 2016 roku. Jest to błąd oficjalnego dostawcy MySQL. Poprawka polega na utworzeniu tabeli. Nie jedyny też. Operacje asynchroniczne są fałszowane, na przykład uruchamiając je w innym wątku.

Sugeruję zbadanie zewnętrznych dostawców MySQL, takich jak Pomelo.EntityFrameworkCore.MySql . znaleziono i naprawiono błąd historii migracji 1 rok temu.

Biorąc pod uwagę, że właścicielem MySQL jest Oracle , nie oczekuj dużego postępu w złączu. Albo baza danych.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uzyskaj dane z bazy danych mysql za pomocą php i jquery ajax

  2. Odmowa dostępu MYSQL do pliku outfile - ale mój użytkownik ma WSZYSTKI dostęp... a folder to CHMOD 777

  3. Jak MySQL przechowuje dane?

  4. Wiele GROUP_CONCAT na różnych polach przy użyciu MySQL

  5. Odbudowa niewolnika replikacji MySQL 8.0 za pomocą wtyczki do klonowania