After updating the Webform module to the latest version (6.3), an issue occurs when executing Drush commands. The problem did not exist in the previous version and appeared immediately following the update.

Issue fork webform-3537579

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

hamzadwaya created an issue. See original summary.

hamzadwaya’s picture

Title: Drush\Commands\sql\sanitize\SanitizePluginInterface not found on » Drush\Commands\sql\sanitize\SanitizePluginInterface not found

hamzadwaya’s picture

Version: 6.2.x-dev » 6.3.0-beta3
Issue summary: View changes

hamzadwaya changed the visibility of the branch 3537579-drushcommandssqlsanitizesanitizeplugininterface-not-found to hidden.

hamzadwaya’s picture

Status: Active » Needs review
liam morland’s picture

Version: 6.3.0-beta3 » 6.3.x-dev
Related issues: +#3477942: Fix phpstan errors

What version of Drush are you using? I think you are using an old version.

The merge request reverses a change made in #3477942: Fix phpstan errors.

grzesag’s picture

I had the same error after upgrading webform to 6.c and running drush updb:
1. Drupal 10.5
2. drush version 12

Fix for me:
1. upgrade drush to version 13

with drush v13 drush updb worked for me

Hope it is useful

vladimiraus’s picture

Status: Needs review » Reviewed & tested by the community

PR fixes the error.

liam morland’s picture

I think the solution is to use a newer version of Drush or an older version of Webform.

hosterholz’s picture

This is a breaking change. I think it should be reverted.

If Webform stays incompatible with Drush 12, it should add the conflict property to composer.json to prevent the error.

{
  "conflict": {
    "drush/drush": "<13.0"
  }
}

mrdalesmith’s picture

Hit this same issue and would agree that whilst Drupal 10 and Drush 12 are still supported, this is a breaking change and either needs reflecting as such in a new D11 only release or reverting in the 6.3 releases.

Update to Drush 13 does fix the issue, if that's something you can do.

mrdalesmith’s picture

Status: Reviewed & tested by the community » Needs review

I'm knocking this back to Needs review as no approach has been agreed, or any confirmation that either patch fixes the issue. I think the test fails are unrelated but it might be worth looking into them as well.

liam morland’s picture

It looks to me like declaring the conflict, as described in #12, is a good approach.

tonypaulbarker’s picture

Forgive me if I don't have the logic correct in my mind.

If we add a conflict and release it, what will prevent projects getting the latest resolved version that contains the bug but not the conflict entry?

hosterholz changed the visibility of the branch 3537579-drush-13-conflict to hidden.

hosterholz’s picture

#18 is right. If Webform 6.3.0-beta4 is conflicting with Drush 13, Webform 6.3.0-beta3 would still be installed in an Environment with Drupal 10 and Drush 12. Drush 13 requires PHP 8.3. It cannot be used where PHP 8.3 is not available.
The changed interface should be reverted to Drush\Drupal\Commands\sql\SanitizePluginInterface which is deprecated in Drush 13. It could be changed afterwards while declaring a conflict to Drush <13 at the same time.

liam morland’s picture

Status: Needs review » Fixed

Thanks everyone!

finn lewis’s picture

He folks,

Great to see this is fixed, thank you so much!

I just ran into the bug trying to install LocalGov Drupal Microsites.

Any chance of a quick release so we don't have to pin or patch webform?

Many thanks,

Finn

liam morland’s picture

webform 6.3.0-beta4 released.

finn lewis’s picture

A-MAY-ZING!!!

Thanks Liam!

That's saved us a bunch of working around.

Thank you ever so much :)

Status: Fixed » Closed (fixed)

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

liam morland’s picture

Should we be declaring an incompatibility with Drush 14?