Question

Joomla 3.x comes with a handy Update Joomla extension, this updates any extensions on the site including the Joomla core. Unfortunately on some installs (primarily one's migrated from Joomla 1.5 to Joomla 3.x) the "#__updates" table is missing from the database.

Was it helpful?

Solution 2

After spending hours trawling the internet, I worked out the missing tables and have written the following MySQL query which solves this issue:

DROP table IF EXISTS #__updates;
CREATE TABLE `#__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';

OTHER TIPS

I had the same problem, more than once (with new installed Joomla 3.x). Joomla reported x_updates doesn't exist.

The query provided here faulted with x_updates already exists. Only after adding DROP table IF EXISTS 'x_updates'; before the code the table was created.

This may mean some plugins have to be reinstalled in Joomla and other work using this plugins is lost.

Just look at the original code, it's rather simple and it takes 2 minutes.

--
-- Table structure for table `#__updates`
--

CREATE TABLE IF NOT EXISTS `#__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';
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top