News:

Dear forum visitors, if the support forum is not available, please try again a few minutes later. Thanks!

Main Menu
Support-Forum

Issue updating jDownloads after updating Joomla 3.10.11 to 4.2.9 - [Solved]

Started by Andrey, 23.03.2023 21:59:46

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Andrey

Good day Arno!
First of all, I want to thank you for your work, excellent component and support!
I have been using it for a long time on various sites.
Now it's time to move gradually to Joomla 4.
I decided to try it on one of my sites, where your component is also installed.
The update was carried out according to your instructions. Installed version 3.9.8.6
I can not upgrade to version 4.0.21 beta in any way. Already tried to update 7 times.

Tell me, please, what is the problem and how to fix it?

After updating the component, the site gives the following error:

A check of the jDownloads database tables revealed differences from the expected data structure. Therefore, the update was cancelled.
Nevertheless, an attempt was made to correct the affected tables. Therefore, you can now try to perform the update again. However, if you receive this message again, check all jDownloads tables. Use the documentation and/or the jDownloads support forum to solve the problem.

The Table: #__jdownloads_usergroups_limits has an incorrect number of data fields. This means that an update can probably not be carried out without errors.
The data fields listed below are not in the correct position within the table. Therefore, the update was cancelled.
Nevertheless, an attempt was made to correct the affected tables. Therefore, you can now try to perform the update again. However, if you receive this message again, check all jDownloads tables.

#__jdownloads_usergroups_limits: form_title
#__jdownloads_usergroups_limits: form_alias
#__jdownloads_usergroups_limits: form_alias_x
#__jdownloads_usergroups_limits: form_version
#__jdownloads_usergroups_limits: form_version_x
#__jdownloads_usergroups_limits: form_access
#__jdownloads_usergroups_limits: form_access_x
#__jdownloads_usergroups_limits: form_user_access
#__jdownloads_usergroups_limits: form_update_active
#__jdownloads_usergroups_limits: form_file_language
#__jdownloads_usergroups_limits: form_file_language_x
#__jdownloads_usergroups_limits: form_file_system
#__jdownloads_usergroups_limits: form_file_system_x
#__jdownloads_usergroups_limits: form_license
#__jdownloads_usergroups_limits: form_license_x
#__jdownloads_usergroups_limits: form_confirm_license
#__jdownloads_usergroups_limits: form_short_desc
#__jdownloads_usergroups_limits: form_short_desc_x
#__jdownloads_usergroups_limits: form_long_desc
#__jdownloads_usergroups_limits: form_long_desc_x
#__jdownloads_usergroups_limits: form_changelog
#__jdownloads_usergroups_limits: form_changelog_x
#__jdownloads_usergroups_limits: form_category
#__jdownloads_usergroups_limits: form_view_access
#__jdownloads_usergroups_limits: form_language
#__jdownloads_usergroups_limits: form_language_x
#__jdownloads_usergroups_limits: form_published
#__jdownloads_usergroups_limits: form_featured
#__jdownloads_usergroups_limits: form_creation_date
#__jdownloads_usergroups_limits: form_creation_date_x
#__jdownloads_usergroups_limits: form_modified_date
#__jdownloads_usergroups_limits: form_timeframe
#__jdownloads_usergroups_limits: form_views
#__jdownloads_usergroups_limits: form_downloaded
#__jdownloads_usergroups_limits: form_ordering
#__jdownloads_usergroups_limits: form_password
#__jdownloads_usergroups_limits: form_password_x
#__jdownloads_usergroups_limits: form_price
#__jdownloads_usergroups_limits: form_price_x
#__jdownloads_usergroups_limits: form_website
#__jdownloads_usergroups_limits: form_website_x
#__jdownloads_usergroups_limits: form_author_name
#__jdownloads_usergroups_limits: form_author_name_x
#__jdownloads_usergroups_limits: form_author_mail
#__jdownloads_usergroups_limits: form_author_mail_x
#__jdownloads_usergroups_limits: form_file_pic
#__jdownloads_usergroups_limits: form_file_pic_x
#__jdownloads_usergroups_limits: form_select_main_file
#__jdownloads_usergroups_limits: form_select_main_file_x
#__jdownloads_usergroups_limits: form_file_size
#__jdownloads_usergroups_limits: form_file_date
#__jdownloads_usergroups_limits: form_file_date_x
#__jdownloads_usergroups_limits: form_select_preview_file
#__jdownloads_usergroups_limits: form_select_preview_file_x
#__jdownloads_usergroups_limits: form_external_file
#__jdownloads_usergroups_limits: form_external_file_x
#__jdownloads_usergroups_limits: form_mirror_1
#__jdownloads_usergroups_limits: form_mirror_1_x
#__jdownloads_usergroups_limits: form_mirror_2
#__jdownloads_usergroups_limits: form_mirror_2_x
#__jdownloads_usergroups_limits: form_images
#__jdownloads_usergroups_limits: form_images_x
#__jdownloads_usergroups_limits: form_meta_desc
#__jdownloads_usergroups_limits: form_meta_key
#__jdownloads_usergroups_limits: form_robots
#__jdownloads_usergroups_limits: form_created_id
#__jdownloads_usergroups_limits: form_created_id_x
#__jdownloads_usergroups_limits: notes
#__jdownloads_usergroups_limits: checked_out
#__jdownloads_usergroups_limits: checked_out_time
#__jdownloads_usergroups_limits:
#__jdownloads_usergroups_limits:
#__jdownloads_usergroups_limits:
#__jdownloads_usergroups_limits:
Error installing component
×
Warning
Extension Update: Custom install routine failure.

  •  

Arno

Hi,
actually, the error message describes the problem very comprehensively.
Since you had already started the update several times, the problem could not be solved by the update script.

So now you have to check the listed table manually.

Attached is the table structure as it should actually be.
Start phpmyadmin on your server and open the structure of this table. Then compare line by line and note any differences. What is important here is not the value entered but the correct order of the individual data fields and their type.
Then you can correct them in the table.

Alternatively, I can offer you such a table with the standard data. However, this only makes sense if you have not defined any additional user groups and have not activated any special user restrictions.

If you still have questions, just contact me again.
Or send me your exported jDownloads tables. Then I'll have a look at them.

CREATE TABLE IF NOT EXISTS `#__jdownloads_usergroups_limits` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`importance` SMALLINT( 6 ) NOT NULL DEFAULT '0',
`group_id` INT( 10 ) NOT NULL DEFAULT '0',
`download_limit_daily` INT(10) NOT NULL DEFAULT '0',
`download_limit_daily_msg` text NOT NULL,
`download_limit_weekly` INT(10) NOT NULL DEFAULT '0',
`download_limit_weekly_msg` text NOT NULL,
`download_limit_monthly` INT(10) NOT NULL DEFAULT '0',
`download_limit_monthly_msg` text NOT NULL,
`download_volume_limit_daily` INT(10) NOT NULL DEFAULT '0',
`download_volume_limit_daily_msg` text NOT NULL,
`download_volume_limit_weekly` INT(10) NOT NULL DEFAULT '0',
`download_volume_limit_weekly_msg` text NOT NULL,
`download_volume_limit_monthly` INT(10) NOT NULL DEFAULT '0',
`download_volume_limit_monthly_msg` text NOT NULL,
`how_many_times` INT( 10 ) NOT NULL DEFAULT '0',
`how_many_times_msg` text NOT NULL,
`download_limit_after_this_time` INT( 4 ) NOT NULL DEFAULT '60',
`transfer_speed_limit_kb` INT(10) NOT NULL DEFAULT '0',
`upload_limit_daily` INT(10) NOT NULL DEFAULT '0',
`upload_limit_daily_msg` text NOT NULL,
`view_captcha` tinyint(1) NOT NULL DEFAULT '0',
`view_inquiry_form` tinyint(1) NOT NULL DEFAULT '0',
`view_report_form` tinyint(1) NOT NULL DEFAULT '0',
`must_form_fill_out` tinyint(1) NOT NULL DEFAULT '0',
`form_fieldset` CHAR( 100 ) NOT NULL DEFAULT '',
`countdown_timer_duration` INT(10) NOT NULL DEFAULT '0',
`countdown_timer_msg` text NOT NULL,
`may_edit_own_downloads` tinyint(1) NOT NULL DEFAULT '0',
`may_edit_all_downloads` tinyint(1) NOT NULL DEFAULT '0',
`use_private_area` tinyint(1) NOT NULL DEFAULT '0',
`view_user_his_limits` tinyint(1) NOT NULL DEFAULT '0',
`view_user_his_limits_msg` text NOT NULL,
`uploads_only_in_cat_id` INT( 11 ) NOT NULL DEFAULT '0',
`uploads_auto_publish` TINYINT( 1 ) NOT NULL DEFAULT '0',
`uploads_allowed_types` TEXT NOT NULL,
`uploads_use_editor` TINYINT( 1 ) NOT NULL DEFAULT '1',
`uploads_use_tabs` TINYINT( 1 ) NOT NULL DEFAULT '1',
`uploads_allowed_preview_types` TEXT NOT NULL,
`uploads_maxfilesize_kb` CHAR( 15 ) NOT NULL DEFAULT '2048',
`uploads_form_text` TEXT NOT NULL,
`uploads_max_amount_images` INT( 3 ) NOT NULL DEFAULT '3',
`uploads_can_change_category` tinyint(1) NOT NULL DEFAULT '1',
`uploads_default_access_level` INT( 10 ) NOT NULL DEFAULT '0',
`uploads_view_upload_icon` TINYINT( 1 ) NOT NULL DEFAULT '1',
`uploads_allow_custom_tags` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_title` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_alias` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_alias_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_version` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_version_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_access` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_access_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_user_access` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_update_active` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_file_language` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_file_language_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_file_system` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_file_system_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_license` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_license_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_confirm_license` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_short_desc` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_short_desc_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_long_desc` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_long_desc_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_changelog` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_changelog_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_category` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_view_access` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_language` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_language_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_published` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_featured` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_creation_date` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_creation_date_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_modified_date` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_timeframe` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_views` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_downloaded` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_ordering` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_password` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_password_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_price` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_price_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_website` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_website_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_author_name` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_author_name_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_author_mail` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_author_mail_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_file_pic` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_file_pic_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_select_main_file` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_select_main_file_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_file_size` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_file_date` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_file_date_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_select_preview_file` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_select_preview_file_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_external_file` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_external_file_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_mirror_1` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_mirror_1_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_mirror_2` TINYINT NOT NULL DEFAULT '1',
`form_mirror_2_x` TINYINT NOT NULL DEFAULT '0',
`form_images` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_images_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_meta_desc` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_meta_key` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_robots` TINYINT( 1 ) NOT NULL DEFAULT '1',
`form_tags` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_select_from_other` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_created_id` TINYINT( 1 ) NOT NULL DEFAULT '0',
`form_created_id_x` TINYINT( 1 ) NOT NULL DEFAULT '0',
`notes` text NOT NULL,
    `checked_out` int(11) NOT NULL default '0',
`checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
KEY `idx_checked_out` (`checked_out`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_unicode_ci;
Best Regards / Gruß
Arno
Please make a Donation for jDownloads and/or write a review on the Joomla! Extensions directory!
  •  

Andrey

Arno, thanks for the quick response!
Yes, I roughly understood what the problem is from the message. But I'm afraid to break something and make it worse. I don't know much about phpmyadmin yet. I hoped that this problem could be fixed somehow with the next update. Or do you have some script that fixes this problem.

It is not clear what is the reason for such an incorrect table structure? I have never manually intervened in it. Updated jDownloads regularly and kept it up to date.

Arno, it's very important for me not to lose all jDownloads data and settings.
Let me send you all the tables better so that you can assess with your professional eyes what happened to them.
Please help me to solve this problem.

I did not find a way to send you a file through private messages. There is no attachment button. Tell me how to do it?
  •  

Arno

Best Regards / Gruß
Arno
Please make a Donation for jDownloads and/or write a review on the Joomla! Extensions directory!
  •  

Andrey

Thanks Arno! Support at the highest level: quickly and immediately right on target!
  •