Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

EF Core `update-database` di MySql gagal dengan `__EFMigrationsHistory' tidak ada`

Ini tidak terkait dengan ASP.NET Identity atau ASP.NET Core. Hal ini terkait dengan Entity Framework secara umum. Saat Anda memperbarui database, EF menggunakan __EFMigrationsHistory untuk merekam migrasi mana yang dieksekusi sehingga tidak melakukannya lagi di masa mendatang.

Fungsionalitas ini diimplementasikan oleh penyedia database , bukan EF itu sendiri. Setidaknya ada satu kasus di mana penyedia Npgsql untuk PostgresSQL tidak membuat tabel .

Solusinya mudah - buat tabel sendiri :

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

PERBARUI

Ada lain pertanyaan serupa pada tahun 2016. Ini adalah bug dari penyedia MySQL resmi. Cara mengatasinya adalah dengan membuat tabel. Bukan satu-satunya juga. Operasi asinkron dipalsukan dengan menjalankannya di utas yang berbeda misalnya.

Saya sarankan Anda menyelidiki penyedia MySQL pihak ketiga seperti Pomelo.EntityFrameworkCore.MySql . Mereka ditemukan dan diperbaiki bug riwayat migrasi 1 tahun yang lalu.

Mengingat bahwa pemilik MySQL adalah Oracle , jangan berharap banyak kemajuan pada konektor. Atau databasenya.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menyimpan karakter UTF8 di MySQL

  2. Bagaimana cara melihat apakah pengguna sedang online di situs web dengan database berbasis php dan mysql?

  3. MySQL &Java - Dapatkan id dari nilai yang dimasukkan terakhir (JDBC)

  4. Mencari yang setara dengan dictcursor di flaskext.mysql

  5. PHP SQL :Cara menyimpan data ke beberapa database dari satu bentuk html ATAU cara menyalin data dari satu database ke database lain secara otomatis