I run update.php on my D6 database. Everything seems to work fine UNTIL I try to access the converted site. Then I get the following error:

PDOException: ... Base table or view not found: ..._block_node_type doesn't exist.

Checking a working D7 site, the table is definitely there. The other block tables, ..._block_custom, ..._block_role and ..._block are in the converted site some I'm not exactly clear what's going on here, but it looks like a bug to me.

Of course, I may have missed something.

Best,

Dick Munroe

Comments

munroe_richard’s picture

Just for grins, I ran update.php again and discovered that the process has, for some reason, left about 70 updates undone. Not sure why, but that may be a data point. When I tried it a 3rd time, update 7018 for the system module failed:

PDOException:... String data, right truncated: 1406 Data too long for column 'type' at row 123: alter table {system} change type type varchar(12) not null default

This may be an artifact of multiple passes through update.php but I thought I would pass it on.

Best,

Dick Munroe

munroe_richard’s picture

And the reason for the error is that there are items in my old system table from jqp. I disabled the module but I DIDN'T uninstall it to delete the system information which left type data that was "too long" and caused the death.

You might want to warn people or bullet proof the upgrade process a bit more.

Best,

Dick Munroe

David_Rothstein’s picture

Title: D6 to D7 database update system doesn't create a table needed by the node module... » system_update_7018() fails on sites using the Drupal 6 "jQuery Plugin Handler" module because {system}.type is too short
Version: 7.22 » 7.x-dev
Priority: Normal » Major

Nice find, seems like the issue is because http://drupal.org/project/jqp for Drupal 6 puts "javascript library" inside the 'type' column which is longer than 12 characters.

Not sure if there's much core can do about this except perhaps decide #215080: Performance: change {system}.type: alter table system modify column type VARCHAR(32); was wrong and go back to 32 rather than 12, or something like that.

catch’s picture

Could we update the data in that column to a substring + show a warning message if there's data in there that's too long, prior to running the schema change?

dcam’s picture

http://drupal.org/node/1427826 contains instructions for updating the issue summary with the summary template.

The summary may need to be updated with information from comments.

David_Rothstein’s picture

Issue tags: +D7 upgrade path

I closed #1133024: System Update #7018 Fails on Upgrade as a duplicate. My guess is many of the others are as well. (A lot of those issues are filed against SWFUpload, but it seems to me like that module doesn't cause this directly - rather it's caused by the JQP module which it has a dependency on.)

From looking at the code, I would think uninstalling https://www.drupal.org/project/jqp on the Drupal 6 site (before doing the upgrade) would likely solve this? Which seems like the right thing to do anyway, since that module doesn't exist for Drupal 7. I.e. this is in line with the existing D6=>D7 upgrade instructions at http://cgit.drupalcode.org/drupal/tree/UPGRADE.txt?h=7.43#n171

Has anyone tried doing that?

Status: Active » Closed (outdated)

Automatically closed because Drupal 7 security and bugfix support has ended as of 5 January 2025. If the issue verifiably applies to later versions, please reopen with details and update the version.