How to solve problems which occur while upgrading Joomla! extensions

Category: Joomla!
 

While upgrading Joomla! components, specific problems can occur. For example, SQL scripts which should be run and should update your database will be not executed.

 

For example: Phoca Download component. Since Phoca Download version 3.0.2, there are new table columns in database tables. When you upgrade from 3.0.1 to 3.0.2, Joomla! extension manager correctly reads the update instructions and update your database.

3.0.2.sql:

ALTER TABLE `#__phocadownload` ADD COLUMN `token` char(64) default NULL;
ALTER TABLE `#__phocadownload` ADD COLUMN `tokenhits` int(11) NOT NULL default 0;


phocadownload.xml:

<update>
<schemas>
<schemapath type="mysql">update/sql/mysql</schemapath>
</schemas>
</update>
 
But when you upgrade from 3.0.1 to 3.0.3, it can happen, that the tables will be not upgraded. You will see e.g. the following error message on your site:
 
Unknown column 'c.tokenhits' in 'field list' ...
 
In such case, Phoca Download file table needs to be updated manually. Run your phpMyAdmin application and add the following SQL queries in your database:
 
ALTER TABLE `jos_phocadownload` ADD COLUMN `token` char(64) default NULL;
ALTER TABLE `jos_phocadownload` ADD COLUMN `tokenhits` int(11) NOT NULL default 0;
 
You need to change jos_ prefix to your database prefix.
 
For other version releases, always look at the folder (included in installation ZIP package):
 
update/sql/mysql/
 
in our example, you will see 3.0.2.sql file, which includes the changes between Phoca Download 3.0.1 and 3.0.2.
 
 
In some cases, updating the item in database table "jos_shemas" will solve the problem. Example:
 
You have upgraded to version 3.0.3 but some tables still missing. Go to your phpMyAdmin and change the version of component to lower one (see image):
 
Phoca - edit component version in database
 
From 3.0.3 to 3.0.2, then try to install the newest version - it should be upgraded properly now. To get info about extensions_id, see the "jos_extensions" table.