Joomla 3.x附带了一个方便的Update Joomla扩展,它更新了网站上的任何扩展,包括Joomla核心。不幸的是,在某些安装(主要是从Joomla 1.5迁移到Joomla 3.x)中,数据库中缺少“#__updates”表。
答案 0 :(得分:1)
花了几个小时拖网之后,我找出了缺失的表并编写了以下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 :(得分:1)
我遇到了同样的问题,不止一次(使用新安装的Joomla 3.x)。 Joomla报告x_updates doesn't exist
。
此处提供的查询出现x_updates already exists
错误。只有在代码之前添加DROP table IF EXISTS 'x_updates';
之后才创建表。
这可能意味着必须在Joomla中重新安装一些插件,并且使用此插件的其他工作将丢失。
答案 2 :(得分: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';