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

निर्दिष्ट कुंजी बहुत लंबी थी; अधिकतम कुंजी लंबाई 767 बाइट्स है - ASPNet पहचान MySQL

मुझे इसका उत्तर स्वयं मिल गया।

मुद्दा उपयोगकर्ता तालिका में उपयोगकर्ता नाम और ईमेल के साथ करना था। और फिर रोल टेबल में नाम।

मैंने अपनी IdentityModel कक्षा में तीनों के लिए अधिकतम लंबाई जोड़ी। यहाँ यह है:

    [DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]
    public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public ApplicationDbContext()
            : base("CaptureDBContext", throwIfV1Schema: false)
        {
        }

        public static ApplicationDbContext Create()
        {
            return new ApplicationDbContext();
        }
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            modelBuilder.Entity<ApplicationUser>().Property(u => u.UserName).HasMaxLength(255);
            modelBuilder.Entity<ApplicationUser>().Property(u => u.Email).HasMaxLength(255);
            modelBuilder.Entity<IdentityRole>().Property(r => r.Name).HasMaxLength(255);
        }
    }
}

ओह, और DbConfigurationType जोड़ रहे हैं MySQL होने के लिए माइग्रेशन इतिहास तालिका समस्या को हल करता है (मुझे यह पहले से ही पता था)।

अशुभ मुसेफैन




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. हमें बाएँ और दाएँ जुड़ने की आवश्यकता क्यों है

  2. MySQL IFNULL अन्य

  3. php7.4 mysqli टाइम्स आउट के साथ चला गया

  4. नेस्टेड क्लासेस - CustomRowMapper !! अब कोई समस्या नहीं !! - भाग ---- पहला

  5. 2 से अधिक टेबल के साथ LEFT JOIN कैसे करें?