Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySql पर EF कोर `अपडेट-डेटाबेस` विफल रहता है `__EFMigrationsHistory' मौजूद नहीं है`

यह ASP.NET पहचान या ASP.NET कोर से संबंधित नहीं है। यह सामान्य रूप से एंटिटी फ्रेमवर्क से संबंधित है। जब आप किसी डेटाबेस को अपडेट करते हैं, तो EF __EFMigrationsHistory . का उपयोग करता है यह रिकॉर्ड करने के लिए कि कौन से माइग्रेशन निष्पादित किए गए थे ताकि यह भविष्य में उन्हें फिर से निष्पादित न करे।

यह कार्यक्षमता डेटाबेस प्रदाता . द्वारा कार्यान्वित की जाती है , ईएफ ही नहीं। कम से कम एक ऐसा मामला था जहां PostgresSQL के लिए Npgsql प्रदाता ने तालिका नहीं बनाई

समाधान आसान है - तालिका स्वयं बनाएं:

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

अपडेट करें

एक एक और था समान प्रश्न 2016 में। यह आधिकारिक MySQL प्रदाता का एक बग है। फिक्स टेबल बनाना है। इकलौता भी नहीं। उदाहरण के लिए, एसिंक्रोनस ऑपरेशंस को एक अलग थ्रेड पर चलाकर नकली किया जाता है।

मेरा सुझाव है कि आप Pomelo.EntityFrameworkCore.MySql जैसे तृतीय-पक्ष MySQL प्रदाताओं की जांच करें। . वे पाए और ठीक किए गए 1 साल पहले माइग्रेशन इतिहास बग।

यह देखते हुए कि MySQL का स्वामी Oracle है , कनेक्टर पर बहुत अधिक प्रगति की अपेक्षा न करें। या डेटाबेस।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटाबेस में डेटा डालने के लिए MySQLi का उपयोग करना

  2. SQL LIKE क्वेरी विफल - तैयार कथन में घातक त्रुटि

  3. प्रोजेक्ट लिंक वैंप सर्वर पर काम नहीं करते हैं

  4. बस mysql डेटाबेस में 5 अंकों की संख्या को दिनांक में बदलें

  5. Magento तालिका बिक्री_फ्लैट_ऑर्डर फ़ील्ड रक्षा_कोड स्पष्टीकरण