I updated to the latest migrate-6.x-2.2 (to get the fix for #1285290: D6 doesn't have _drupal_decode_exception()), and when I run drush updb, I get

Error: Class MigrateDestinationFlagSimple contains 1 abstract method and must therefore be declared abstract or implement the remaining methods
(MigrateDestination::__toString) in /Users/steve/Sites/neugroup/sites/all/modules/migrate_extras/flag.inc, line 78

Although, I don't see any abstract methods declared, so I'm not sure why the error.

Comments

StuartDH’s picture

Version: 6.x-2.2 » 7.x-2.2

Same issue with 7.2.2

Fatal error: Class MigrateDestinationFlagSimple contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (MigrateDestination::__toString) in /home/project/public_html/sites/all/modules/migrate_extras/flag.inc on line 78

The error appears following module installation and whenever I clear the cache

StuartDH’s picture

Version: 7.x-2.2 » 7.x-2.x-dev

No error messages when using 7.x-2.x-dev

mikeryan’s picture

Status: Active » Fixed

Right, it was fixed.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

lucascaro’s picture

Status: Closed (fixed) » Active

Hi there, this is still an issue in 6.x-dev as of today. Is there a patch that can be ported to 6.x?
thanks!!

lucascaro’s picture

well, I just went ahead and backported the __toString method for the three classes that had problems (MigrateDestinationFlagSimple, MigrateDestinationOGMembership, and MigrateDestinationUserRelationships)

here's a patch for those of us stuck with D6 :)

wonder95’s picture

Patch from #6 fixed the error for me.

lucascaro’s picture

Status: Active » Needs review

status update

apotek’s picture

Could not get the patch to apply cleanly:

$ git apply -v migrate_extras-add__toString-1379356-6.patch 
docroot/migrate_extras-add__toString-1379356-6.patch:28: trailing whitespace.
  
docroot/migrate_extras-add__toString-1379356-6.patch:40: trailing whitespace.
  
warning: 2 lines add whitespace errors.

I'm probably not applying to latest dev of migrate_extras. However, I applied the changes manually to my migrate_extras module, and the error has disappeared, so here's a +1 on this patch.

apotek’s picture

Version: 7.x-2.x-dev » 6.x-2.x-dev
Status: Needs review » Reviewed & tested by the community

Two tests of this change report it works. Updating to reviewed & tested.

also updating to 6.x-2.x-dev since the issue is fixed in 7, but not in 6.

mikeryan’s picture

Status: Reviewed & tested by the community » Fixed

Tried applying the patch - but the __toString() implementations are already there in 6.x-2.x-dev.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

nerdcore’s picture

Version: 6.x-2.x-dev » 7.x-2.3-rc1
Status: Closed (fixed) » Active

Same error today:

Migrate Extras: 7.x-2.2
Migrate: Upgrading 7.x-2.2 to 7.x-2.3

Fatal error: Class MigrateDestinationFlagSimple contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (MigrateDestination::__toString) in [...]/sites/all/modules/contrib/migrate_extras/flag.inc on line 78

nerdcore’s picture

Version: 7.x-2.3-rc1 » 7.x-2.2

Forgot which module's Issues page I was on, sorry :)

nerdcore’s picture

Sorry for all the comments...

I do realize this is fixed in 7.x-2.x-dev but my organization is trying to implement regular upgrade procedures, and we were looking at upgrade paths to full version releases (no betas, no rcs, no devs). In this process we upgraded Migrate to 7.x-2.3 which exposed this incompatibility in Migrate Extras 7.x-2.2.

It's great to have the fix committed to Migrate Extras 7.x-2.x-dev but it seems like 7.x-2.2 remains broken...

Is it reasonable to expect this fix to be put forward into a 7.x-2.3 release soon?

mikeryan’s picture

Status: Active » Closed (fixed)

I expect to review the outstanding issues and cut 2.3 between Drupalcon sessions this week.

The correct status for an issue whose fix is committed, regardless of whether it has appeared in an official release, is fixed.