0

I have a Drupal 9.5 site that I am attempting to composerize and upgrade to Drupal10. I created a Drupal10 site in a local environment, copied the site content over, and installed all the Drupal10 compatible modules. When attempting to run update.php, I receive a list of errors relating to the entityblock module missing. I tried adding the module manually to the contrib folder and running update.php, but then I receive the following error:

[error] (Currently using Incompatible module The following module is installed, but it is incompatible with Drupal 10.1.1:

  • EntityBlock

If I try running drush pm:unistall entityblock, I receive this error:

entityblock: The EntityBlock field type is used in the following field: node.field_entityblock

How I can uninstall the module and properly update to entity_block (the currently supported replacement, which is installed on both the 9.5 site and the 10 env)? Or would starting over and using Drupal migrate to bring the content over be a better plan?

2
  • Wouldn't it be easier to delete the field node.field_entityblock instead of starting over and migrate the entire Drupal site?
    – 4uk4
    Commented Jul 9 at 16:21
  • It isn’t a migration. And who knows what other incompatible modules they overlooked.
    – mona lisa
    Commented Jul 9 at 16:26

2 Answers 2

1

How I can uninstall the module and properly update to entity_block (the currently supported replacement, which is installed on both the 9.5 site and the 10 env)?

The discussion is about finding deprecated modules. It's already in the question title that the module was identified and needs to be replaced. By doing this an error message occurs (which by the way is shown in UI in a more convenient way when you select modules to uninstall and the checkbox is greyed out):

entityblock: The EntityBlock field type is used in the following field: node.field_entityblock

This means before you can uninstall entityblock you have to delete field_entityblock in the content type(s). Before you do that save the information of this field. In this case it's not normal field content but only information of blocks placed in nodes. If these are only a few blocks write it down. If it is a large amount of data and neither the old nor new module provides a path to migrate you have to write a script to export and import the data to the new module.

It is essentially an upgrade, but I am also trying to transition the site to being fully composer-managed for ease of future maintenance.

Switching to composer-managed doesn't affect Drupal at all. If your new composer build contains new module versions run the database update like in a manual code update.

In general, don't try to do all in one step. You can switch deprecated modules before doing a major core upgrade. You can switch to composer-based independently of other updates/upgrades.

6
  • When I go to reports -> field list I find that the field name field_entityblock used in two types of nodes that comprise what looks like 12 pieces of content, so not a ton of amount of data. If I try to remove the EntityBlock field type, I break the blocks and instead of properly displaying their content, the show an error message: > This block is broken or missing. You may be missing content or you might need to enable the original module. "But the original module is deprecated and I'm not sure what I need to do to properly enable the replacement module." Commented Jul 11 at 21:28
  • Did you read the last sentence of the answer?
    – 4uk4
    Commented Jul 11 at 21:58
  • I did but I'm not sure how that helps me. Taking the composerization aspect out of it, if I upgrade my core version it'll remove the deprecated module, right? Which would then presumably break the blocks that are using the field type set by the deprecated module. Commented Jul 12 at 1:55
  • No, you have to remove (uninstall) the module before you upgrade core.
    – 4uk4
    Commented Jul 12 at 6:57
  • Right. But I can't uninstall the module until I change all of the nodes that use the field name field_entityblock, which I don't know how to do without breaking the blocks. Entity_Block is the replacement module in drupal/projects, but I can't figure out how to update the nodes to use the replacement instead. Commented Jul 12 at 14:06
0

As I understand this post, it is essentially an upgrade from Drupal 9 to 10.

The Upgrade Status module is the standard tool to assess upgrade readiness. You should use it on the 9.5 site to determine which modules have compatible versions in Drupal 10. You must uninstall incompatible modules before attempting an upgrade.

In many cases you must upgrade modules to the highest available for Drupal 9 before attempting to upgrade.

2
  • It is essentially an upgrade, but I am also trying to transition the site to being fully composer-managed for ease of future maintenance Commented Jul 9 at 19:20
  • The Upgrade Status module is the best preview on which module is ready for upgrade. But you needn't take only my word for it. The official How to upgrade from Drupal 9 to Drupal 10 documentation stipulates using it, in step 2.
    – mona lisa
    Commented Jul 9 at 20:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.