I believe it returns 6999, because the first allowed update revision in
D7 is 7000. I agree that it should return the currently installed schema
version, but it is what it is until it is patched - perhaps an issue is
warranted?
I would suggest releasing new version of your D6 branches that sets a
variable, perhaps 'yr_verdata_d6_version', to '1' or '2' depending on
your branch. Then in yr_verdata_update_7000(), just check the value of
this variable, perform the schema update if necessary, then delete the
variable again. Or you could just add the variable to your deprecated
6.x-1.x branch.
As long as you make it clear on the project page that the user *must*
upgrade to the latest version of the 6.x-1.x branch before upgrading to
D7, you should be covered against breakage on user sites.
Brian
On 11-02-19 07:58 AM, Fredrik Sandve Kilander wrote:
Hello. I am having trouble with hook_update_N(). My module (yr_verdata) has two
branches for D6, and I want to provide an upgrade path from both of these to
D7. However, I can't seem to get the correct schema version when upgrading. In
my install file i have the following:
function yr_verdata_update_7000(&$sandbox) {
// Check to see what schema we are updating from.
// If we are going from 6.x-2.x to 7.x-1.x, the schema is already ready for
// 7.x-1.x so we just update the schema version number.
$version = drupal_get_installed_schema_version('yr_verdata', TRUE);
if ($version> 6199) { // Updating from 6.x-2.x, no problem.
drupal_set_installed_schema_version('yr_verdata', 7000);
}
else { // Updating from 6.x-1.x, modify the database table.
// Some update logic.
}
return t('Some friendly message');
}
The problem here is that drupal_get_installed_schema_version() simply returns
6999, no matter what. What am I doing wrong?
I could just remove the update logic that messes with the database table from
the 7.x branch doing it all in 6.x-2.x, and require 6.x-1.x users to upgrade to
6.x-2.x before going to 7.x-1.x - but that sounds like a bad idea to me, and
just extra work for people who want to upgrade to D7 with this module.
Any help is appreciated!