بروزرسانی پایگاه داده جوملا
بروزرسانی پایگاهداده جوملا یکی از مشکلات و یکی از خطاهای خاص جوملا در زمان بروز رسانی است که جدول “به روز رسانی” در پایگاه داده خراب میشود.
بروزرسانی جداول پایگاه داده جوملا
خطای جوملا: جدول به روز رسانی وجود ندارد!
برای این خطا 2 راه حل در سایت های خارجی یافت شد:
در ادامه به شرح راه حل ها میپردازیم:
راه حل اول:
خطای جوملا: جدول به روز رسانی وجود ندارد
یکی از خطاهای خاص جوملا در زمان بروز رسانی است که جدول “به روز رسانی” در پایگاه داده خراب میشود.
ما یکی از راه حل های مطرح شده،اجرای یک پرس و جو در phpMyAdmin است.
اجرای یک پرس و جو پایگاه داده در جوملا
در این آموزش روند اجرای یک پرس و جو پایگاه داده در جوملا را شرح خواهیم داد.
در آموزش گام به گام، ما این مسئله را توصیف خواهیم کرد و نشان خواهیم داد که چگونه این ارور را حل کنیم.
مشکل
- رفتن به Components -> جوملا به روز رسانی نتایج در این خطا:

An error has occurred.
1146 Table `updates` doesn't exist SQL=SELECT DISTINCT update_site_id FROM #__updates WHERE `update_site_id` IN ( SELECT update_site_id FROM #__update_sites WHERE `last_check_timestamp` IS NULL OR `last_check_timestamp` <= '1493997061')
- رفتن به پسوندها -> مدیریت -> نتایج پایگاه داده در این خطا:
Table 'updates' does not have column 'infourl'. (From file 2.5.0-2012-01-10.sql.)
Table 'updates' should not have column 'categoryid'. (From file 3.0.0.sql.)
Table 'updates' does not have column 'extra_query'. (From file 3.2.2-2013-12-22.sql.)
Table 'updates' does not have column 'version' with type varchar(32). (From file 3.2.2-2014-01-18.sql.)
- استفاده از دکمه Fix آن را تعمیر نمی کند. در عوض، منجر به این خطا می شود:

Error
Table 'updates' doesn't exist SQL=SHOW COLUMNS IN `#__updates` WHERE field = 'infourl'
Table 'updates' doesn't exist SQL=SHOW COLUMNS IN `#__updates` WHERE Field = 'categoryid'
Table 'updates' doesn't exist SQL=SHOW COLUMNS IN `#__updates` WHERE field = 'extra_query'
Table 'updates' doesn't exist SQL=SHOW COLUMNS IN `#__updates` WHERE field = 'version' AND type = 'varchar(32)'
راه حل
در این مرحله، ما با مشکل مواجه هستیم و به یک راه حل پایگاه داده نیاز داریم، بنابراین:
- از کنترل پنل میزبان خود برای دسترسی به phpMyAdmin استفاده کنید:

- بر روی پایگاه های داده کلیک کنید و به پایگاه داده خود دسترسی پیدا کنید:

- به برگه SQL بروید و پرس و جو زیر را به آن اضافه کنید:
DROP table IF EXISTS jos_updates;
CREATE TABLE `jos_updates` (
`update_id` int(11) NOT NULL AUTO_INCREMENT,
`update_site_id` int(11) DEFAULT '0',
`extension_id` int(11) DEFAULT '0',
`name` varchar(100) DEFAULT '',
`description` text NOT NULL,
`element` varchar(100) DEFAULT '',
`type` varchar(20) DEFAULT '',
`folder` varchar(20) DEFAULT '',
`client_id` tinyint(3) DEFAULT '0',
`version` varchar(32) DEFAULT '',
`data` text NOT NULL,
`detailsurl` text NOT NULL,
`infourl` text NOT NULL,
`extra_query` VARCHAR(1000) DEFAULT '',
PRIMARY KEY (`update_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Available Updates';
- در پرس و جو فوق، “jos” را با پیشوند جدول خود (به استثنای زیر نمره) جایگزین کنید.
- اگر مطمئن نیستید که پیشوند جدول پایگاه داده شما چیست، می توانید آن را در برگه سرور Global Configuration خود پیدا کنید.

- پس از کلیک بر روی Go، شما باید یک پیام موفقیت مشابه به موارد زیر را ببینید:

موفقیت
کارت تمومه! حالا دوباره دوباره مشکل را دوباره بررسی کنید و باید از بین برود. تبریک میگم!
نوشته شده توسط نیک ساووف نتشر شده در: 02 آوریل 2019
منبع:
*****
راه حل دوم:
رفع پایگاه داده پس از به روز رسانی شکست خورده
بنابراین، من اخیرا یک مشکل با شکست با به روز رسانی به جوملا 3.6.5 داشتم. به نظر می رسد که من بیشتر قادر به بازیابی از خطا با به روز رسانی دستی بودم، با این حال به نظر می رسد که مسائل مربوط به پایگاه داده وجود دارد. رفع پایگاه داده فقط خطاهای بیشتری ایجاد می کند و بنابراین یک گزینه نیست.
خطا
Table 'greentec.#__updates' doesn't exist SQL=SHOW COLUMNS IN `#__updates` WHERE field = 'infourl'
Table 'greentec.#__updates' doesn't exist SQL=SHOW COLUMNS IN `#__updates` WHERE Field = 'categoryid'
Table 'greentec.#__updates' doesn't exist SQL=SHOW COLUMNS IN `#__updates` WHERE field = 'extra_query'
Table 'greentec.#__updates' doesn't exist SQL=SHOW COLUMNS IN `#__updates` WHERE field = 'version' AND type = 'varchar(32)'
و لیست زیر از مشکلات پایگاه داده:
Database schema version (3.4.0-2015-02-26) does not match CMS version (3.6.3-2016-08-16).
Database update version (3.4.8) does not match CMS version (3.6.5).
Table 'zyjgk_updates' does not have column 'infourl'. (From file 2.5.0-2012-01-10.sql.)
Table 'zyjgk_updates' should not have column 'categoryid'. (From file 3.0.0.sql.)
Table 'zyjgk_updates' does not have column 'extra_query'. (From file 3.2.2-2013-12-22.sql.)
Table 'zyjgk_updates' does not have column 'version' with type varchar(32). (From file 3.2.2-2014-01-18.sql.)
Table 'zyjgk_session' does not have column 'session_id' with type varchar(191). (From file 3.5.0-2015-07-01.sql.)
Table 'zyjgk_user_keys' does not have column 'series' with type varchar(191). (From file 3.5.0-2015-07-01.sql.)
Table 'zyjgk_contentitem_tag_map' should not have index 'idx_tag'. (From file 3.5.0-2015-10-26.sql.)
Table 'zyjgk_contentitem_tag_map' should not have index 'idx_type'. (From file 3.5.0-2015-10-26.sql.)
Table 'zyjgk_redirect_links' should not have index 'idx_link_old'. (From file 3.5.0-2016-03-01.sql.)
Table 'zyjgk_redirect_links' does not have column 'old_url' with type VARCHAR(2048). (From file 3.5.0-2016-03-01.sql.)
Table 'zyjgk_redirect_links' does not have column 'new_url' with type VARCHAR(2048);. (From file 3.5.0-2016-03-01.sql.)
Table 'zyjgk_redirect_links' does not have column 'referer' with type VARCHAR(2048). (From file 3.5.0-2016-03-01.sql.)
Table 'zyjgk_redirect_links' does not have index 'idx_old_url'. (From file 3.5.0-2016-03-01.sql.)
Table 'zyjgk_user_keys' does not have column 'user_id' with type varchar(150). (From file 3.5.1-2016-03-25.sql.)
Table 'zyjgk_redirect_links' does not have column 'new_url' with type VARCHAR(2048);. (From file 3.6.0-2016-04-06.sql.)
Table 'zyjgk_menu_types' does not have column 'asset_id'. (From file 3.6.0-2016-04-09.sql.)
Table 'zyjgk_languages' does not have column 'asset_id'. (From file 3.6.0-2016-06-05.sql.)
Table 'zyjgk_newsfeeds' does not have column 'link' with type VARCHAR(2048). (From file 3.6.3-2016-08-15.sql.)
The Joomla! Core database tables have not been converted yet to UTF-8 Multibyte (utf8mb4).
به نظر می رسد که این سایت در حال حاضر کار می کند، اما من خطاهای پایگاه داده را دریافت می کنم زمانی که من سعی می کنم یک به روز رسانی را اجرا کنم، بنابراین من مطمئن هستم که چگونه ادامه دهم.
ویرایش دسامبر 19, 2016 در 7:50
درخواست دسامبر 15, 2016 در 14:05

نیزوک
- چگونه “به صورت دستی” جوملا را به روز کردید؟ – آیا فایل زیپ را در backend مدیر آپلود نکردید؟ هنگامی که شما فقط فایل های تغییر یافته را آپلود می کنید، جداول پایگاه داده به آخرین نسخه تغییر نمی کند. شما باید از روش نصب در backend استفاده کنید. – تام کوشل نظر دسامبر 15, 2016 در 15:22
- من فایل ها را از طریق ftp به سرور میزبان منتقل کردم. به روز رسانی یک کلیک شکست خورده در اواسط به روز رسانی، بنابراین من فقط می توانم فرض کنم که که بر نتیجه تاثیر می گذارد. اطلاعات جوملا میگه که این نسخه جدیده. – نیزوک نظر دسامبر 15, 2016 در 15:27
- یک سوال دیگر: از کدام نسخه به 3.6.5 آیا شما سعی کردید به روز رسانی کنید؟ و از بسته پچ یا بسته کامل استفاده کردید؟ – تام کوشل نظر دسامبر 15, 2016 در 15:40
- فقط وصله. 3.64=>3.6.5 – نیزوک نظر دسامبر 15, 2016 در 15:41
2 پاسخ
مرتب شده توسط:
-1 آیا دستگاه را به صورت محلی یا در یک سرور از راه دور به روز کردید؟ – همیشه ایده خوبی است که دستگاه زنده خود را به یک محلی پشتیبان گیری کنید و ابتدا به روز رسانی را بررسی کنید. من یک پشتیبان را به عقب می برم، یا اگر این کمک نمی کند:
- یک نسخه پشتیبان تهیه کنید، تمام فایل ها را کپی کنید و پایگاه داده پشتیبان را به یک دستگاه محلی کپی کنید.
- با phpmyadmin یا برنامه مشابه، من می خواهم پایگاه داده را با جداول بالا تجزیه و تحلیل کنم، به عنوان مثال اگر zyjgk_updates’ ستون “infourl” نداشته باشد؛ و ساختار داده هر جدول را با نصب جدید جوملا مقایسه کنید. اگر تفاوت وجود دارد، سعی کنید جدول را به صورت دستی در phpmyadmin تغییر دهید.
برای من، به نظر می رسد، یک جدول zyjgk_update شکسته وجود دارد … و با اطلاعات بیشتر، جامعه می تواند کمک های بسیار بیشتری را نیز ارائه دهد.
پاسخ داده شده دسامبر 15, 2016 در 16:12

تام کوشل
- سلام تام، پس از نگاه کردن به مشکلات با جزئیات، من فکر می کنم این راهی برای رفتن به بهبود است. باید با جزئیات بیشتر به میزها نگاه کنم و ببینم چطور پیش می رود. – نیزوک نظر دسامبر 19, 2016 در 7:54
2 اگر شما در ابتدا جوملا را از طریق Cpanel نصب کرده اید، به طور پیش فرض، یک نسخه پشتیبان به طور خودکار قبل از به روز رسانی ایجاد می شود. من این را بررسی می کنم. من یک اسب مرده را شکست نمی دهم، اما به عقب بر می گردم، به عقب بر می گردم! 🙂
در حال حاضر، آنچه که ممکن است در واقع مشکل باشد، یک راه حل ساده است که باید قبل از آن انجام می شد و / یا پس از به روز رسانی بررسی می شد.
چگونه می توان (به احتمال زیاد) خطا را برطرف کرد. (همچنین بررسی کنید که چه نسخه های php و mysql را اجرا می کنید)
قبل از به روز رسانی و / یا پس از نمونه خود را از جوملا شما نیاز به تعمیر جداول پایگاه داده برای سایت. ابزار پایگاه داده را می توان در زیر مدیر پسوند > برگه پایگاه داده در مدیر سایت شما یافت.
- هنگامی که بر روی این صفحه نمایش شما باید ببینید که خطا در پایگاه داده وجود دارد.
- اگر خطا وجود دارد کلیک کنید دکمه رفع در بالا سمت راست گوشه.
- پس از کلیک بر روی دکمه رفع، شما باید یک پیام موفقیت را به عنوان در تصویر زیر مشاهده کنید.
توجه: به نسخه عکس ها و جوملا توجه نکنید. این همان مفهوم است.




و در نهایت – انجام یک پشتیبان در حال حاضر اگر همه چیز خوب بود.
ویرایش ژوئن 17, 2020 در 9:58
جامعهربات
1
پاسخ داده شده دسامبر 15, 2016 در 17:56

نورکال جانی
- سلام جانی، با تشکر از پست دقیق و به خوبی نشان داده شده شما. حق با توئه، حمایت از من خیلی مهمه و من اینجا رو به هم زدم، زمان زیادیه با این حال، پست شما تا حد زیادی چیزی را نشان می دهد که من به آن اشاره کردم یک گزینه نبود (درست کردن db از طریق کنترل پنل). من به دنبال وجود پشت های اتوماتیک خواهم بود و امیدوارم که حق با شما باشد. این Cpanel نیست، و من حداقل کنترل بر سرور را فراتر از دسترسی phpmyadmin و انتخاب برخی از نسخه های نرم افزاری دارم.
*****
منبع: