2014-02-26 65 views
0

Joomla 3.x帶有一個方便的更新Joomla擴展,它會更新站點上的所有擴展,包括Joomla核心。不幸的是,在一些安裝中(主要是從Joomla 1.5遷移到Joomla 3.x),數據庫中缺少「#__updates」表。Joomla 3中缺失的更新表格

回答

0

花了幾個小時拖網互聯網之後,我摸索出缺少的表格和寫了下面的MySQL查詢解決了這個問題:

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'; 
+1

對於'extra_query',你應該使用'VARCHAR(1000)DEFAULT'',而不是'text NOT NULL',而最後一行不需要自動增加;) – Lodder

0

試想一下,在original code,這是相當簡單的,它需要2分鐘。

-- 
-- 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'; 
+0

該表不存在在從Joomla 1.5自動遷移到Joomla 3.2的網站上,因此修復。 – RustyIngles

1

我有同樣的問題,不止一次(與新安裝的Joomla 3.x)。 Joomla報告了x_updates doesn't exist

查詢此處提供的錯誤是x_updates already exists。只有在代碼創建表之前添加DROP table IF EXISTS 'x_updates';後。

這可能意味着一些插件必須重新安裝在Joomla中,並且使用該插件的其他工作將丟失。