I am practicing the upgrade from 5-x.10 to 6-x.4 on a test server. I think I am following all the rules, turning off all non-core modules, switching to Garland theme, but each time I get the following errors:

user warning: Table 'cache_block' already exists query: CREATE TABLE cache_block ( `cid` VARCHAR(255) NOT NULL DEFAULT '', `data` LONGBLOB DEFAULT NULL, `expire` INT NOT NULL DEFAULT 0, `created` INT NOT NULL DEFAULT 0, `headers` TEXT DEFAULT NULL, `serialized` SMALLINT NOT NULL DEFAULT 0, PRIMARY KEY (cid), INDEX expire (expire) ) /*!40100 DEFAULT CHARACTER SET UTF8 */ in /home/chrispel/public_html/crsny.net/drupal/includes/database.inc on line 514.

user warning: Table 'cache_form' already exists query: CREATE TABLE cache_form ( cid varchar(255) NOT NULL default '', data longblob, expire int NOT NULL default '0', created int NOT NULL default '0', headers text, serialized int(1) NOT NULL default '0', PRIMARY KEY (cid), INDEX expire (expire) ) /*!40100 DEFAULT CHARACTER SET UTF8 */ in /home/chrispel/public_html/crsny.net/drupal/modules/system/system.install on line 1403.
user warning: Table 'menu_router' already exists query: CREATE TABLE menu_router ( `path` VARCHAR(255) NOT NULL DEFAULT '', `load_functions` VARCHAR(255) NOT NULL DEFAULT '', `to_arg_functions` VARCHAR(255) NOT NULL DEFAULT '', `access_callback` VARCHAR(255) NOT NULL DEFAULT '', `access_arguments` TEXT DEFAULT NULL, `page_callback` VARCHAR(255) NOT NULL DEFAULT '', `page_arguments` TEXT DEFAULT NULL, `fit` INT NOT NULL DEFAULT 0, `number_parts` SMALLINT NOT NULL DEFAULT 0, `tab_parent` VARCHAR(255) NOT NULL DEFAULT '', `tab_root` VARCHAR(255) NOT NULL DEFAULT '', `title` VARCHAR(255) NOT NULL DEFAULT '', `title_callback` VARCHAR(255) NOT NULL DEFAULT '', `title_arguments` VARCHAR(255) NOT NULL DEFAULT '', `type` INT NOT NULL DEFAULT 0, `block_callback` VARCHAR(255) NOT NULL DEFAULT '', `description` TEXT NOT NULL, `position` VARCHAR(255) NOT NULL DEFAULT '', `weight` INT NOT NULL DEFAULT 0, `file` MEDIUMTEXT DEFAULT NULL, PRIMARY KEY (path), INDEX fit (fit), INDEX tab_parent (tab_parent) ) /*!40100 DEFAULT CHARACTER SET UTF8 */ in /home/chrispel/public_html/crsny.net/drupal/includes/database.inc on line 514.
user warning: Table 'menu_links' already exists query: CREATE TABLE menu_links ( `menu_name` VARCHAR(32) NOT NULL DEFAULT '', `mlid` INT unsigned NOT NULL auto_increment, `plid` INT unsigned NOT NULL DEFAULT 0, `link_path` VARCHAR(255) NOT NULL DEFAULT '', `router_path` VARCHAR(255) NOT NULL DEFAULT '', `link_title` VARCHAR(255) NOT NULL DEFAULT '', `options` TEXT DEFAULT NULL, `module` VARCHAR(255) NOT NULL DEFAULT 'system', `hidden` SMALLINT NOT NULL DEFAULT 0, `external` SMALLINT NOT NULL DEFAULT 0, `has_children` SMALLINT NOT NULL DEFAULT 0, `expanded` SMALLINT NOT NULL DEFAULT 0, `weight` INT NOT NULL DEFAULT 0, `depth` SMALLINT NOT NULL DEFAULT 0, `customized` SMALLINT NOT NULL DEFAULT 0, `p1` INT unsigned NOT NULL DEFAULT 0, `p2` INT unsigned NOT NULL DEFAULT 0, `p3` INT unsigned NOT NULL DEFAULT 0, `p4` INT unsigned NOT NULL DEFAULT 0, `p5` INT unsigned NOT NULL DEFAULT 0, `p6` INT unsigned NOT NULL DEFAULT 0, `p7` INT unsigned NOT NULL DEFAULT 0, `p8` INT unsigned NOT NULL DEFAULT 0, `p9` INT unsigned NOT NULL DEFAULT 0, `updated` SMALLINT NOT NULL DEFAULT 0, PRIMARY KEY (mlid), INDEX path_menu (link_path(128), menu_name), INDEX menu_plid_expand_child (menu_name, plid, expanded, has_children), INDEX menu_parents (menu_name, p1, p2, p3, p4, p5, p6, p7, p8, p9), INDEX router_path (router_path(128)) ) /*!40100 DEFAULT CHARACTER SET UTF8 */ in /home/chrispel/public_html/crsny.net/drupal/includes/database.inc on line 514.
user warning: Table 'menu_custom' already exists query: CREATE TABLE menu_custom ( `menu_name` VARCHAR(32) NOT NULL DEFAULT '', `title` VARCHAR(255) NOT NULL DEFAULT '', `description` TEXT DEFAULT NULL, PRIMARY KEY (menu_name) ) /*!40100 DEFAULT CHARACTER SET UTF8 */ in /home/chrispel/public_html/crsny.net/drupal/includes/database.inc on line 514.
user warning: Can't DROP 'nid'; check that column/key exists query: ALTER TABLE files DROP INDEX nid in /home/chrispel/public_html/crsny.net/drupal/includes/database.mysql-common.inc on line 448.
user warning: Table 'upload' already exists query: ALTER TABLE file_revisions RENAME TO upload in /home/chrispel/public_html/crsny.net/drupal/includes/database.mysql-common.inc on line 249.
user warning: Duplicate column name 'nid' query: ALTER TABLE upload ADD `nid` INT unsigned NOT NULL DEFAULT 0 in /home/chrispel/public_html/crsny.net/drupal/includes/database.mysql-common.inc on line 298.
user warning: Duplicate key name 'nid' query: ALTER TABLE upload ADD INDEX nid (nid) in /home/chrispel/public_html/crsny.net/drupal/includes/database.mysql-common.inc on line 434.
user warning: Multiple primary key defined query: ALTER TABLE upload ADD PRIMARY KEY (vid, fid) in /home/chrispel/public_html/crsny.net/drupal/includes/database.mysql-common.inc on line 374.
user warning: Duplicate key name 'fid' query: ALTER TABLE upload ADD INDEX fid (fid) in /home/chrispel/public_html/crsny.net/drupal/includes/database.mysql-common.inc on line 434.
user warning: Table 'actions_old_contrib' already exists query: ALTER TABLE actions RENAME TO actions_old_contrib in /home/chrispel/public_html/crsny.net/drupal/includes/database.mysql-common.inc on line 249.
user warning: Table 'actions' already exists query: CREATE TABLE actions ( `aid` VARCHAR(255) NOT NULL DEFAULT '0', `type` VARCHAR(32) NOT NULL DEFAULT '', `callback` VARCHAR(255) NOT NULL DEFAULT '', `parameters` LONGTEXT NOT NULL, `description` VARCHAR(255) NOT NULL DEFAULT '0', PRIMARY KEY (aid) ) /*!40100 DEFAULT CHARACTER SET UTF8 */ in /home/chrispel/public_html/crsny.net/drupal/includes/database.inc on line 514.
user warning: Table 'actions_aid' already exists query: CREATE TABLE actions_aid ( `aid` INT unsigned NOT NULL auto_increment, PRIMARY KEY (aid) ) /*!40100 DEFAULT CHARACTER SET UTF8 */ in /home/chrispel/public_html/crsny.net/drupal/includes/database.inc on line 514.
user warning: Duplicate column name 'weight' query: ALTER TABLE upload ADD `weight` TINYINT NOT NULL DEFAULT 0 in /home/chrispel/public_html/crsny.net/drupal/includes/database.mysql-common.inc on line 298.
user warning: Duplicate entry '2392-0' for key 1 query: ALTER TABLE locales_target ADD PRIMARY KEY (language, lid, plural) in /home/chrispel/public_html/crsny.net/drupal/includes/database.mysql-common.inc on line 374.
user warning: Duplicate entry '5-0' for key 1 query: ALTER TABLE term_node ADD PRIMARY KEY (tid, vid) in /home/chrispel/public_html/crsny.net/drupal/includes/database.mysql-common.inc on line 374.
user warning: Table 'languages' already exists query: CREATE TABLE languages ( `language` VARCHAR(12) NOT NULL DEFAULT '', `name` VARCHAR(64) NOT NULL DEFAULT '', `native` VARCHAR(64) NOT NULL DEFAULT '', `direction` INT NOT NULL DEFAULT 0, `enabled` INT NOT NULL DEFAULT 0, `plurals` INT NOT NULL DEFAULT 0, `formula` VARCHAR(128) NOT NULL DEFAULT '', `domain` VARCHAR(128) NOT NULL DEFAULT '', `prefix` VARCHAR(128) NOT NULL DEFAULT '', `weight` INT NOT NULL DEFAULT 0, `javascript` VARCHAR(32) NOT NULL DEFAULT '', PRIMARY KEY (language), INDEX list (weight, name) ) /*!40100 DEFAULT CHARACTER SET UTF8 */ in /home/chrispel/public_html/crsny.net/drupal/includes/database.inc on line 514.

Comments

cpelham’s picture

I dropped the already-existing tables that threw the errors listed above and this time update.php ran more smoothly and only kicked out three errors. Can anyone tell me what to modify to get rid of the following?

* user warning: Can't DROP 'nid'; check that column/key exists query: ALTER TABLE files DROP INDEX nid in /home/chrispel/public_html/crsny.net/drupal/includes/database.mysql-common.inc on line 448.

* user warning: Duplicate entry '2392-0' for key 1 query: ALTER TABLE locales_target ADD PRIMARY KEY (language, lid, plural) in /home/chrispel/public_html/crsny.net/drupal/includes/database.mysql-common.inc on line 374.

* user warning: Duplicate entry '5-0' for key 1 query: ALTER TABLE term_node ADD PRIMARY KEY (tid, vid) in /home/chrispel/public_html/crsny.net/drupal/includes/database.mysql-common.inc on line 374.

—————————

Christopher Pelham
Director
CRS (Center for Remembering & Sharing)
123 4th Ave, 2nd FL
New York, NY 10003
212-677-8621
www.crsny.org

rfay’s picture

I think you can ignore the first error: It's trying to drop the index "nid", but there isn't one, so there's no problem. This is probably just sloppy code.

The addition of new primary keys fails if there is more than one row containing the new key. Sometimes this is the case because the previous code didn't have this constraint. In your case, with "Alter table locales_target" there are apparently two rows with key 2392/0. What you might do for this one is to delete your installed locales before upgrading, then reload them later. Or go in and find the exact offending row.

For the duplicate key on term_node, I had this exact problem and was not able to find the offending row. I will do this step manually after the upgrade with the SQL statement "ALTER TABLE term_node ADD PRIMARY KEY (tid, vid)". It worked for me *after* the upgrade for no reason that I understand.