d7 version of db_add_field() is db_add_field($table, $field, $spec, $keys_new = array()) whereas panels_node_update_6001() uses it like db_add_field(&$ret, $table, $field, $spec, $new_keys = array()). This causes an error when updating from d6 to d7 via update.php:
The following updates returned messages
panels_node module
Update #6001
* Failed: DatabaseSchemaObjectDoesNotExistException: Cannot add field .panels_node: table doesn't exist. in DatabaseSchema_mysql->addField() (line 321 of /var/www/drupalupgrade/includes/database/mysql/schema.inc).
Changing function to the following should fix:
/**
* Implementation of hook_update to handle adding a pipeline
*/
function panels_node_update_6001() {
$field = array(
'type' => 'varchar',
'length' => '255',
);
db_add_field('panels_node', 'pipeline', $field);
}
| Comment | File | Size | Author |
|---|---|---|---|
| #1 | 1132356_1.patch | 754 bytes | Letharion |
Comments
Comment #1
Letharion commentedThis looks right, so I'm attaching a patch. Haven't tested it as I don't have a D6 db with Panel Nodes.
Comment #2
Letharion commentedThere has finally been posted an upgrade path from Panel Nodes to Panelizer over here: #1353542: Upgrade path from Panel Nodes to Panelizer.
And with that, I request that anyone that posts issues regarding Panel Nodes try to upgrade, and then either posts Panelizer issues, or upgrade path issues.
Comment #3
Letharion commentedComment #4
merlinofchaos commentedActually we should still fix the bug.
Comment #5
merlinofchaos commentedCommitted.
Comment #6
Letharion commentedYeah, had I known you were gonna go on such a spree I would have a left it open a little longer ;)