• 1401/05/01

مشکل migrate در دیتا بیس mysql :

هنگام migrate  در ترمینال هنگام اپلود پروژه خطایی با متن 

django.db.utils.DatabaseError: (1071, '1071: Specified key was too long; max key length is 1000 bytes', None)

لطفا کمکم کنید

  • 1401/05/01
  • ساعت 19:29

با سلام.

 

لطفاً نسخه MySQL ی که از آن استفاده می کنید را مشخص کنید. در نسخه 5.6 محدودیت 1000 بایتی را دارید. این مقدار در MySQL version 5.7 (و بالاتر) به مقدار 3072 بایت افزایش یافته است.

اگر که نمی توانید نسخه MySQL را تغییر دهید و چنانچه از encoding ی مثل utf8 در DB خود استفاده می کنید، برای فیلدی از نوع مثلاً  varchar به ازای هر کاراکتر سه بایت در نظر می گیرد. چک کنید فیلدی که به عنوان key هم در نظر گرفته اید کمتر از 1000 بایت نیاز داشته باشد.

 

لطفاً source فایلهای models پروژه را جهت بررسی بیشتر ارسال نمایید.


  • 1401/05/01
  • ساعت 20:27

سلام من طبق اموزش از mysql-connector-python==8.0.29  استفاده کردم و ورژن mysql  را مشخص نیست.و ببخشید من متوجه نشدم منظور از {encoding ی مثل utf8 در DB }شما چیست لطفا من رو بیشتر راهنمایی کنید. فایل های models  را الان بار گذاری میکنم 

 


  • 1401/05/01
  • ساعت 20:35
account_module
# Create your models here.
class User(AbstractUser):
    avatar = models.ImageField(upload_to='images/profile',verbose_name= "تصویر آواتار",null=True,blank=True)
    email_active_code = models.CharField(max_length=100,verbose_name="کد فعالسازی ایمیل " )
    about_user =models.TextField(null=True,blank=True,verbose_name='درباره شخص ')
    addres = models.TextField(null=True,blank=True,verbose_name='آدرس')

    class Meta:
        verbose_name = "کاربر"
        verbose_name_plural = "کاربران"

    def __str__(self):
        if self.first_name is not '' and self.last_name is not '':
            return self.get_full_name()
        return self.email
------------------------------------------------------------------------------------
article_module
# Create your models here.



class ArticleCategory(models.Model):
    parent = models.ForeignKey('ArticleCategory', null=True, blank=True, on_delete=models.CASCADE,
                        verbose_name='دسته بندی والد')
    title = models.CharField(max_length=200, verbose_name='عنوان دسته بندی')
    urltitle = models.CharField(max_length=200, unique=True, verbose_name='عنوان در url')
    is_avtive = models.BooleanField(default=True, verbose_name='فعال / غیرفعال')

    def __str__(self):
        return self.title

    class Meta():
        verbose_name = 'دسته بندی مقاله'
        verbose_name_plural = 'دسته بندی های مقاله'



class Article(models.Model):
    title = models.CharField(max_length=300, verbose_name='عنوان مقاله')
    slug = models.SlugField(max_length=400, db_index=True, allow_unicode=True, verbose_name='عنوان در url')
    image = models.ImageField(upload_to='images/articles', verbose_name='تصویر مقاله')
    is_active = models.BooleanField(default=True, verbose_name='فعال /غیر فعال')
    short_description = models.TextField(verbose_name='توضیحات کوتاه')
    text = models.TextField(verbose_name='متن مقاله')
    selected_categories = models.ManyToManyField('ArticleCategory', verbose_name='دسته بندی ها')
    author = models.ForeignKey(User,on_delete=models.CASCADE,verbose_name="نویسنده",null=True,editable=False)
    create_date = models.DateTimeField(auto_now_add=True,editable=False,verbose_name='تاریخ ثبت')

    def __str__(self):
        return self.title
    def get_jalali_creat_date(self):
        return date2jalali(self.create_date)
    def get_jalali_creat_time(self):
        return self.create_date.strftime('%H:%M')

    class Meta():
        verbose_name = 'مقاله'
        verbose_name_plural = 'مقالات'


class ArticleComment(models.Model):
    article = models.ForeignKey(Article,on_delete=models.CASCADE,verbose_name='مقاله')
    parent = models.ForeignKey('ArticleComment',null=True ,blank=True,on_delete=models.CASCADE, verbose_name='والد')
    user = models.ForeignKey(User,on_delete=models.CASCADE,verbose_name='کاربر')
    creat_date =models.DateTimeField(auto_now_add=True,verbose_name='تاریخ ثبت')
    text =models.TextField(verbose_name='متن نظر')

    class Meta():
        verbose_name = 'نظر مقاله'
        verbose_name_plural = ' نظرات مقالات'
    def __str__(self):
        return str(self.user)
        
----------------------------------------------------------------------------------------
contact_modoule
# Create your models here.

class ContactUs(models.Model):
    title = models.CharField(max_length=300, verbose_name="عنوان")
    email = models.EmailField(max_length=300, verbose_name='ایمیل')
    full_name = models.CharField(max_length=300, verbose_name='نام و نام خانوادگی')
    message = models.TextField(verbose_name='متن تماس با ما')
    created_date = models.DateTimeField(verbose_name= 'تاریخ ایجاد' , auto_now_add=True)
    response = models.TextField(verbose_name="متن پاسخ تماس با ما " ,null=True,blank=True)
    is_read_by_admin = models.BooleanField(verbose_name="خوانده شده توسط ادمین" , default=False)

    class Meta:
        verbose_name = 'تماس با ما'
        verbose_name_plural = 'لیست تماس با ما'

    def __str__(self):
        return self.title



class UserProfile(models.Model):
    image = models.ImageField(upload_to='images')
-------------------------------------------------------------------------------------
order_module
class Order(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name="کاربر")
    is_paid = models.BooleanField(verbose_name="نهایی شده/نشده")
    payment_day = models.DateField(null=True, blank=True, verbose_name='تاریخ پرداخت')

    def __str__(self):
        return str(self.user)

    class Meta:
        verbose_name = 'سبد خرید'
        verbose_name_plural = 'سبد های خرید کاربران'

    def calculate_total_price(self):
        if self.is_paid:
            total_amount = 0
            for detail_order in self.orderdetail_set.all():
                total_amount += detail_order.final_price * detail_order.count
        else:
            total_amount = 0
            for detail_order in self.orderdetail_set.all():
                total_amount += detail_order.product.price * detail_order.count
        return total_amount


class OrderDetail(models.Model):
    product = models.ForeignKey(Product, on_delete=models.CASCADE, verbose_name='محصول')
    count = models.IntegerField(verbose_name='تعداد')
    order = models.ForeignKey(Order, on_delete=models.CASCADE, verbose_name="سبد خرید")
    final_price = models.IntegerField(null=True, blank=True, verbose_name='قیمت نهایی تکی این محصول')

    class Meta:
        verbose_name = 'جزءیات  سبد خرید'
        verbose_name_plural = "لیست جزءیات سبد خرید"

    def __str__(self):
        return str(self.order)
-------------------------------------------------------------------------
product_module
# Create your models here.
class ProductBrand(models.Model):
    title = models.CharField(max_length=200, verbose_name='نام برند ', db_index=True)
    url_title =models.CharField(max_length=300,verbose_name='',db_index=True)
    is_active=models.BooleanField(verbose_name='فعال / غیرفعال')
    def __str__(self):
        return self.title
    class Meta:
        verbose_name = 'برند'
        verbose_name_plural ='برند ها'

class ProductCategory(models.Model):
    title= models.CharField(max_length=300,verbose_name='عنوان', db_index=True)
    url_title= models.CharField(max_length=300,verbose_name="عنوان در url", db_index=True )
    is_active= models.BooleanField(verbose_name="فعال / غیرفعال")
    is_delete = models.BooleanField(verbose_name="حذف شده / نشده")

    def __str__(self):
        return f'{self.title}-{self.url_title}'

    class Meta:
        verbose_name = "دسته بندی"
        verbose_name_plural = "دسته بندی ها"

class Product(models.Model):
    title = models.CharField(max_length=300,verbose_name='عنوان محصول')
    category = models.ManyToManyField(
        ProductCategory,
        related_name="products_categories",
        verbose_name='دسته بندی ها')
    image = models.ImageField(upload_to='images/products',null=True,blank=True,verbose_name="تصویر محصول")
    brand=models.ForeignKey(ProductBrand,on_delete=models.CASCADE,verbose_name="برند",null=True,blank=True)
    price = models.IntegerField(verbose_name="قیمت")
    short_description = models.CharField(max_length=360, null=True,verbose_name="توضیحات کوتاه", db_index=True)
    description = models.TextField( db_index=True,verbose_name="توضیحات اصلی")
    is_active = models.BooleanField(default=False,verbose_name="فعال / غیرفعال")
    slug = models.SlugField(default='', null=False, blank=True,max_length=200,unique=True,verbose_name='عنوان در url')
    is_delete = models.BooleanField(verbose_name="حذف شده / نشده")
    def __str__(self):
        return f"{self.title}({self.price})"

    def save(self, *args, **kwargs):
        # self.slug = slugify(self.title)
        super().save(*args, **kwargs)

    def get_absolute_url(self):
        return reverse('product_detail',args=[self.slug])

    class Meta:
        verbose_name = "محصول"
        verbose_name_plural = "محصولات"

class ProductTags(models.Model):
    caption=models.CharField(max_length=200,verbose_name="عنوان",  db_index=True)
    product=models.ForeignKey(Product,on_delete=models.CASCADE,related_name="products_tags")
    def __str__(self):
        return self.caption
    class Meta:
        verbose_name="تگ محصول"
        verbose_name_plural="تگ های محصولات"

class ProductVisit(models.Model):
    product = models.ForeignKey('Product',on_delete=models.CASCADE,verbose_name='محصول')
    ip = models.CharField(max_length=35,verbose_name='آی پی')
    user = models.ForeignKey(User,on_delete=models.CASCADE,verbose_name='کاربر',blank=True,null=True)
    def __str__(self):
        return  f"{self.product.title} / {self.ip}"
    class Meta:
        verbose_name="بازدید محصول"
        verbose_name_plural="بازدید های محصول"

class ProductGallery(models.Model):
    product = models.ForeignKey(Product, on_delete=models.CASCADE, related_name="products_gallery",verbose_name='محصول')
    image = models.ImageField(upload_to='images/products_galley',verbose_name="تصاویر گالری محصول")

    def __str__(self):
        return self.product.title

    class Meta:
        verbose_name = "تصویر گالری"
        verbose_name_plural = "تصاویر گالری"
        =======================================================
 site_module
 class SiteSetting(models.Model):
    site_name = models.CharField(max_length=200,verbose_name='نام سایت')
    site_url = models.CharField(max_length=200,verbose_name='دامنه سایت')
    phone = models.CharField(max_length=200,null=True,blank=True,verbose_name='تلفن ')
    addres = models.CharField(max_length=200,verbose_name='ادرس ')
    fax = models.CharField(max_length=200,null=True,blank=True, verbose_name='فکس ')
    email = models.CharField(max_length=200,null=True,blank=True, verbose_name='ایمیل ')
    copy_right = models.TextField(verbose_name='متن کپی رایت سایت')
    about_us_text = models.TextField(verbose_name='متن درباره ما سایت')
    site_logo = models.ImageField(upload_to='images/site-setting',verbose_name='لوگو سایت')
    is_main_setting = models.BooleanField(verbose_name='تنظیمات اصلی')
    class Meta:
        verbose_name = 'نتظیمات سایت'
        verbose_name_plural = 'تنظیمات'

    def __str__(self):
        return self.site_name

class FooterLinkBox(models.Model):
    title = models.CharField(max_length=200,verbose_name='عنوان')
    class Meta:
        verbose_name='دسته بندی لینک های فوتر'
        verbose_name_plural= 'دسته بندی های لینک های فوتر'
    def __str__(self):
        return self.title

class FooterLiink(models.Model):
    title = models.CharField(max_length=200,verbose_name='عنوان')
    url = models.URLField(max_length=500,verbose_name='لینک')
    footer_link_box = models.ForeignKey(to=FooterLinkBox,on_delete=models.CASCADE,verbose_name='دسته بندی')
    class Meta:
        verbose_name=' لینک  فوتر'
        verbose_name_plural= 'لینک های فوتر'
    def __str__(self):
        return self.title

class Slider(models.Model):
    title = models.CharField(max_length=200,verbose_name='عنوان')
    url = models.URLField(max_length=500,verbose_name='لینک')
    url_title = models.CharField(max_length=200,verbose_name='عنوان لینک')
    descripton = models.TextField(verbose_name='توضیحات اسلایدر')
    image = models.ImageField(upload_to= 'images/sliders',verbose_name="تصویر اسلایدر")
    is_active = models.BooleanField(default=True,verbose_name='فعال / غیرفعال')
    class Meta:
        verbose_name= "اسلایدر"
        verbose_name_plural= 'اسلایدر ها'

    def __str__(self):
        return self.title

class SiteBanner(models.Model):
    class SiteBannerPositions(models.TextChoices):
        product_list = 'product_list', 'صفحه لیست محصولات',
        product_detail = 'product_detail' , 'صفحه جزییات محصولات',
        about_us = 'about_us' , 'صفحه درباره ما',
    title = models.CharField(max_length=200,verbose_name='عنوان بنر')
    url = models.URLField(max_length=400,null=True,blank=True,verbose_name='آدرس بنر')
    image = models.ImageField(upload_to='images/banners', verbose_name="تصویر بنر")
    is_active = models.BooleanField(verbose_name='فعال / غیرفعال')
    position = models.CharField(max_length=200,choices=SiteBannerPositions.choices, verbose_name='جایگاه نمایشی')

    def __str__(self):
        return self.title
    class Meta:
        verbose_name= "بنر تبلیغاتی"
        verbose_name_plural= 'بنرهای تبلیغاتی '
======================================================           
                                            

  • 1401/05/01
  • ساعت 21:41

درایوری که برای ارتباط با MySQL نصب کردید (mysql-connector-python) ، از نسخه 5.5 تا 8 MySQL را support می کند. ولی منظور من نسخه ی خود MySQLی است که شما استفاده می کنید.

نوشته بودید که:

هنگام اپلود پروژه

با این مشکل مواجه شدید. در hosting ی که دارید، نسخه MySQL را چک کنید.

 

به هر حال، با فرض اینکه نسخه MySQL ی که از آن استفاده می کنید، 5.6 ( یا قبل تر ) باشد، به عنوان یک راه حل این تغییر را امتحان کنید.

مقدار max_length را در فیلد زیر به عدد نهایتاً 250 ( محض احتیاط 240 ) تغییر دهید:

slug = models.SlugField(max_length=400, db_index=True, allow_unicode=True, verbose_name='عنوان در url')

 

توضیح در مورد:

چنانچه از encoding ی مثل utf8 در DB خود استفاده می کنید

به طور خلاصه: یعنی اگر از کاراکترهای فارسی در فیلد خود استفاده می کنید که با توجه به allow_unicode=True به احتمال قوی، همینطور است.

 

 


  • 1401/05/02
  • ساعت 01:48

سلام دوست من

پاسخ دوستمون weby رو بررسی کنین. این مورد در نسخه های مربوط به MySql های قدیمی تر ایجاد میشه

البته هاستینگ ها معمولا از نسخه های بروزتر استفاده میکنن اما ممکنه گاها این مشکل ایجاد میشه

به واحد پشتیبانی هم تیکت بزنین در این مورد


  • 1401/05/02
  • ساعت 18:17

سلام و تشکر از شما اساتید ورژن  mysql  بنده طبق عکس زیر 10.2.40 هست و تغییراتی که گفتید انجام شد ولی باز همان ارور به وجود امد.طبق  گفته شما (mysql-connector-python) تا ورژن 8 را میتواندsupport کند. ایا مشکل مربوط 

مربوط به این هست؟ واقا به راهنماییتون نیاز دارم


  • 1401/05/02
  • ساعت 19:30
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0001_initial... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying auth.0012_alter_user_first_name_max_length... OK
  Applying account_module.0001_initial... OK
  Applying account_module.0002_remove_user_mobile_user_avatar... OK
  Applying account_module.0003_user_about_user... OK
  Applying account_module.0004_alter_user_avatar... OK
  Applying account_module.0005_user_addres... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying article_module.0001_initial... OK
  Applying article_module.0002_alter_articlecategory_title_and_more... OK
  Applying article_module.0003_alter_articlecategory_urltitle... OK
  Applying article_module.0004_articlecategory_parent... OK
  Applying article_module.0005_article...Traceback (most recent call last):
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/django/db/backends/utils.py", line 89, in _execute
    return self.cursor.execute(sql, params)
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/mysql/connector/django/base.py", line 149,in execute
    return self.cursor.execute(query, new_args)
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/mysql/connector/cursor_cext.py", line 277,in execute
    self._handle_result(result)
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/mysql/connector/cursor_cext.py", line 180,in _handle_result
    raise errors.get_mysql_exception(*self._warnings[0][1:3])
mysql.connector.errors.DatabaseError: 1071: Specified key was too long; max key length is 1000 bytes

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/django/core/management/__init__.py", line 446, in execute_from_command_line
    utility.execute()
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/django/core/management/__init__.py", line 440, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/django/core/management/base.py", line 414,in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/django/core/management/base.py", line 460,in execute
    output = self.handle(*args, **options)
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/django/core/management/base.py", line 98, in wrapped
    res = handle_func(*args, **kwargs)
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/django/core/management/commands/migrate.py", line 290, in handle
    post_migrate_state = executor.migrate(
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/django/db/migrations/executor.py", line 131, in migrate
    state = self._migrate_all_forwards(
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/django/db/migrations/executor.py", line 163, in _migrate_all_forwards
    state = self.apply_migration(
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/django/db/migrations/executor.py", line 251, in apply_migration
    migration_recorded = True
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/django/db/backends/base/schema.py", line 157, in __exit__
    self.execute(sql)
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/django/db/backends/base/schema.py", line 192, in execute
    cursor.execute(sql, params)
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/django/db/backends/utils.py", line 103, inexecute
    return super().execute(sql, params)
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/django/db/backends/utils.py", line 67, in execute
    return self._execute_with_wrappers(
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/django/db/backends/utils.py", line 80, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/django/db/backends/utils.py", line 89, in _execute
    return self.cursor.execute(sql, params)
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/django/db/utils.py", line 91, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/django/db/backends/utils.py", line 89, in _execute
    return self.cursor.execute(sql, params)
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/mysql/connector/django/base.py", line 149,in execute
    return self.cursor.execute(query, new_args)
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/mysql/connector/cursor_cext.py", line 277,in execute
    self._handle_result(result)
  File "/home/skyhouse/virtualenv/django_toplearn_project/3.8/lib/python3.8/site-packages/mysql/connector/cursor_cext.py", line 180,in _handle_result
    raise errors.get_mysql_exception(*self._warnings[0][1:3])
django.db.utils.DatabaseError: (1071, '1071: Specified key was too long; max key length is 1000 bytes', None)
(django/toplearn/project:3.8)[skyhouse@chita django_toplearn_project]$

  • 1401/05/02
  • ساعت 20:15

  • 1401/05/02
  • ساعت 22:33

به نظر می رسد که از MariaDB استفاده می کنید (که یک fork از MySQL است) و مطمئن نیستم که آیا درایوری که از آن استفاده کردید، برای این نیز مناسب هست یا خیر.

در این مورد خیلی جستجو کردم و بیشتر، از سازگاری درایورها(ی موجود پایتون برای MySQL) با MariaDB صحبت شده بود. در نهایت به این لینک رسیدم و طبق آن باید تغییراتی در config فایل mysql/mariadb انجام دهید.

امیدوارم مشکل حل شود.

 


  • 1401/05/03
  • ساعت 09:55

یک نکته ای که وجود داره اینه که اگر برای ستون های جداولتون از index_db استفاده کرده باشین و اون ستون ها تعداد کاراکتر های زیادی داشته باشن دیتابیس با مشکل مواجه میشه

مدل هایی که ایجاد کردین رو بررسی کنین که index دارن یا خیر و اگر دارن باید تعداد کاراکتر های اونها رو مدیریت کنین


  • 1401/05/03
  • ساعت 10:20

بله استاد، در فیلد slug مقدار max-length برابر 400 بود که با توجه به index بودن و unicode بودن آن، پیشنهاد شد که به 200 تغییر داده شود. ( چون به ازای هر کاراکتر یونیکد، 3 تا 4 بایت در نظر می گیرد که برای 400 کاراکتر، بیش از 1000 بایتی می شود که در پیام خطا هم ذکر شده)

 


  • 1401/05/03
  • ساعت 19:33

سلام خدمت اساتید عزیز با عرض تشکر از شما بابت وقتی که گذاشتید.

استاد من همه ی فیلد  هارو اصلاح کرد همه جوره تست کردم با db_index=false va True باز اوکی نشد البته داخل  سی پنل ادیت میکردم حتی گفتم شاید باگ پروژه خودم باشه ولی فایل قسمت 136 شمارم باز اپلود کردم درست نشد دقیقا همین ارور روبه رو شدم خواستم بدونم شما سی پنلی که استفاده کریدی کدام ورژن mysql بوده و اگر من بخوام تیکت بزنم با چه مظمونی باشد که mysql  من رو تغییر دهند که مانند شما اپلود کنم. با تشکر فراوان از شما راستی من از مشهد هاست طبق پیشنهاد شما استفاده میکنم . راه حلی دارید ممنون میشوم کمکم کنید

 


  • 1401/05/03
  • ساعت 19:49

  • 1401/05/05
  • ساعت 09:30

به پشتیبانی سایت تیکت بزنین که قصد دارین که mysqlclient رو در terminal نصب کنین اما سرور ارور میده و اجازه ی نصب این پکیج رو نمیده. ازشون بخواین که این مشکل رو برطرف کنن


  • 1401/05/06
  • ساعت 13:03

سلام استاد اردوخانی تو پارس وب سرور سرور جنگو تهیه کردم مشکل بر طرف شد در عاست دیگر ولی تیکت هم زدم به مشهد هاست بازم تشکر از شمااا


  • 1401/05/06
  • ساعت 18:24

با سلام.

 

دوست گرامی، اگر پاسخی از مشهد هاست دریافت کردید ممنون می شوم که در صورت امکان پاسخ را به اشتراک بگذارید.

موفق باشید.


  • 1401/05/08
  • ساعت 09:26

خوشحالم مشکل برطرف شده دوست من

موفق باشین :)


  • 1401/05/08
  • ساعت 17:17

متنی که گفتن اصا به درد من نخورد خیلی هاست بدیه بهم راه حلی داده که استفاده ازشم بلد نیستم .--->>

شما می توانید بجای مورد درخواستی، پس از ویرایش فایل init.py از ماژول pymysql استفاده نمایید.

لینک زیر را بررسی بفرمائید.
https://stackoverflow.com/questions/46902357/error-loading-mysqldb-module-did-you-install-mysqlclient-or-mysql-python

با احترام
واحد پشتیبانی - کاشی


  • 1401/05/09
  • ساعت 16:31

ممنون از شما


  • 1401/05/10
  • ساعت 20:26

متشکرم. لطف کردید.


logo-enamadlogo-samandehi