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

MySql और माइग्रेशन के साथ एंटिटी फ्रेमवर्क विफल हो रहा है क्योंकि अधिकतम कुंजी लंबाई 767 बाइट्स है

उत्तर कस्टम माइग्रेशन इतिहास संदर्भ जोड़ना ...

EF6 एक माइग्रेशन इतिहास . का उपयोग करता है मॉडल परिवर्तनों का ट्रैक रखने और डेटाबेस स्कीमा और वैचारिक स्कीमा के बीच स्थिरता सुनिश्चित करने के लिए तालिका। यह तालिका डिफ़ॉल्ट रूप से MySQL के लिए काम नहीं करती है क्योंकि प्राथमिक कुंजी बहुत बड़ी है . इस स्थिति का समाधान करने के लिए, आपको उस तालिका के कुंजी आकार को छोटा करना होगा।

अनिवार्य रूप से, EF6 आपको Fluent API का उपयोग करके MigrationId/ContextKey इंडेक्स कॉलम के लिए कुंजी आकार को संशोधित करने की अनुमति देता है जैसे:

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

पूर्ण यहां निर्देश...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. वेरिएबल सम्मिलित करना MySQL पायथन का उपयोग करना, काम नहीं कर रहा

  2. अगर और अन्य का उपयोग करना संग्रहीत कार्यविधियाँ MySQL

  3. PHP Mysql PDO बाध्य चर की संख्या टोकन की संख्या से मेल नहीं खाती

  4. MySQL और PHP:सिरिलिक वर्णों के साथ UTF-8

  5. MySQL में एक स्ट्रिंग में बिट्स की संख्या कैसे प्राप्त करें - BIT_LENGTH ()