[development] Trouble with upgrade paths from different branches
Brian Vuyk
brian at brianvuyk.com
Sat Feb 19 15:54:16 UTC 2011
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!
More information about the development
mailing list