رفتن به مطلب
ghadirkiani

rok gallery ارور میده و نصب نمیشه

پست های پیشنهاد شده

با سلام

 

این مشکل برمیگرده به ساختار فایل SQL و به دو طریق قابل حله :

 

1 - اگر نسخه MySQL تون پایینه ، با ارتقا MySQL مشکل حل میشه البته نسخه ای که مناسب عملکرد جوملا هم باشه

 

2 - تو این روش باید فایل SQL افزونه رو بررسی و ویرایش کنید

 

اینکه برای کدوم تیبل خطا میده باید خودتون بررسی کنید . در حقیقت این مشکل مربوط به میزان حافظه ای هست که کلیدهای اصلی جدول یا همون Primary Key بیش از حد معمول استفاده میکنند

 

مثلا اگر تیبلی فرضا 10 تا فیلد داره و 2 تا از فیلدها بعنوان کلید اصلی انتخاب شده باشند و باز هم فرضا از نوع varchar با مقدار طول 200 باشند ، آنگاه میزان حافظه ای که این دو فیلد اشغال میکنند برابر است با ، سه برابر مجموع اندازه کلیدهای اصلی که حاصل آن عددی بر حسب بایت میباشد . یعنی

(200 + 200) * 3 = 1200

با این حساب در قیاس با مقداری که در پیام خطا مشخصه ( 767 ) باید مقدار طول کلیدهای اصلی رو کاهش بدید به حدی که مقدار 1200 به مقداری کمتر از 767 برسد

 

برای اینکه بدانید به چه میزان کاهش دهید کافیست روال زیر را طی کنید

1200 - 767 = 433
433 / 3 = 144.3 ~ 145
145 / 2 = 72.5
200 - 72.5 = 127.5 ~ 127

در خط اول اختلاف بایت ها محاسبه شده . در خط دوم اختلاف بدست آمده را بر 3 تقسیم میکنیم . در خط سوم مقدار بدست آمده را بر تعداد فیلدها تقسیم میکنیم و در خط چهارم مقدار واقعی که فیلد باید داشته باشه محاسبه میکنیم

 

البته در خط سوم و چهارم ما فرض رو بر این گذاشتیم که از فیلدها به یک نسبت مقداری کم شود ولی اینکار همیشه هم نمیتونه درست باشه چون هر فیلدی کاربرد مخصوص خودش رو داره و نمیشه همینجوری اندازه یک فیلد رو تغییر داد باید اندازه ها متناسب با کاربرد فیلد مربوطه باشه

در واقع مهم اینه که شما به مقدار خط دوم برسید و به همان میزان و بطور معقول ، اندازه ها رو تعیین کنید

 

حال اگر مقدار هر فیلد را برابر 127 قرار دهیم ، آنگاه

(127 + 127) * 3 = 762

میبینید که نتیجه ای رو که میخواستیم بدست آوردیم

 

اعداد و ارقامی که در بالا ذکر کردم جنبه مثال دارند . شما باید بر اساس کوئری که در فایل SQL افزونه نوشته شده ، اقدام کنید

 

البته انتخاب مناسب نوع Storage Engine ها هم در این زمینه بی تاثیر نیستند

 

موفق و پیروز باشید

یا حق

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ممنون ببینید از این جدول ایراد گرفته اما این جدول 1فیلد کلیددی داره اونم id که از نوع varchar نیست

CREATE  TABLE IF NOT EXISTS `#__rokgallery_files` (
  `id` INT UNSIGNED NULL DEFAULT NULL AUTO_INCREMENT ,
  `filename` VARCHAR(255) NOT NULL ,
  `guid` CHAR(36) NOT NULL ,
  `md5` CHAR(32) NOT NULL ,
  `title` VARCHAR(200) NOT NULL ,
  `description` TEXT NULL DEFAULT NULL ,
  `license` VARCHAR(255) NULL DEFAULT NULL ,
  `xsize` INT UNSIGNED NOT NULL ,
  `ysize` INT UNSIGNED NOT NULL ,
  `filesize` INT UNSIGNED NOT NULL ,
  `type` CHAR(20) NOT NULL ,
  `published` TINYINT(1) NOT NULL DEFAULT '0' ,
  `created_at` DATETIME NOT NULL ,
  `updated_at` DATETIME NOT NULL ,
  `slug` VARCHAR(255) NULL DEFAULT NULL ,
  UNIQUE INDEX (`id` ASC) ,
  UNIQUE INDEX (`guid` ASC) ,
  INDEX `#__rokgallery_files_published_idx` (`published` ASC) ,
  INDEX `#__rokgallery_files_md5_idx` (`md5` ASC) ,
  INDEX `#__rokgallery_files_guid_idx` (`guid` ASC) ,
  UNIQUE INDEX `#__files_sluggable_idx` (`slug` ASC) ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با سلام

 

انتهای کد ، به جای InnoDB عبارت MyISAM را جایگزین کنید ، ببینید مشکل حل میشه یا نه

 

اگر بازم مشکل پابرجا بود ، کوئری رو مستقیما تو دیتابیستون ایمپورت کنید و بعد افزونه رو نصب کنید (به پیشوند جدول هم دقت کنید)

 

موفق و پیروز باشید

یا حق

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ممنون

تغیییر دادم اما این ارور رو داد

 Specified key was too long; max key length is 1000 bytes SQL

 

راه دومم باز همین ارور ها رو داد

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید ارسال داشته باشید و بعد ثبت نام خود را در سایت کامل نمایید. اگر حساب کاربری در سایت دارید، جهت ارسال با حساب کاربری خود هم اکنون وارد سایت شوید

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • افزودن...