I'm currently in the process of upgrading some websites from D6 to D7 and while upgrading the Services module I got the following:
The update process was aborted prematurely while running update #7400 in services.module. All errors have been logged. You may need to check the watchdog database table manually.
An AJAX HTTP error occurred. HTTP Result Code: 200 Debugging information follows. Path: http://example.com/update.php?op=selection&token=gFk6pmqtLDjheFJhaM1liQj0JlxLJIDoBqqu1MxopO0&id=211&op=do StatusText: OK ResponseText: Fatal error: Call to undefined function services_get_servers() in /path/to/drupal/sites/all/modules/services/services.install on line 222
As a result no other updates seem to run as the upgrade process halts on this error. Any ideas?
Comments
Comment #1
kylebrowning commentedThere is no upgrade path.
Comment #2
axle_foley00 commented@kylebrowning: I'm not sure I understand how me getting this error relates to there being 'no upgrade path'? It's attempting to run an update for the services module when it fails. Are you saying that I should uninstall the module in D6 and do a clean install of the module in D7?
Comment #3
klokie commentedI had the same problem. I was able to get around it by installing and enabling the latest stable version of Services on my D7 site (to make the required function services_get_servers() available) before running the update. I then disabled it before proceeding with the rest of my site upgrade, but otherwise the update will fail as noted.
Comment #4
rares commentedSame issue here. Enabling the services module allowed it to successfully update itself. Drupal modules should be able to update themselves without being enabled, precisely to avoid any site crashes and data corruption that might come when a module is turned on against a deprecated schema.
It is probably necessary to call this in the update function:
https://api.drupal.org/api/drupal/includes%21module.inc/function/module_...