DEV Community

David Loor
David Loor

Posted on • Edited on • Originally published at davidloor.com

4 2

How to uninstall the contrib module multiversion on Drupal 8.7 or later

If you are planning an upgrade from Drupal 8 to Drupal 9, I strongly recommend that you uninstall the contrib module multiversion before you update the core to the latest 9.x version.

Some of the contrib modules that require the multiversion module are: Deploy, Workspace, Replication. These modules will be automatically uninstalled as part of this process too.

1. Install the Multiversion Remover.

The module Multiversion Remover plays an important role on this process, so we need to install it:

composer require 'drupal/multiversion_remover:1.0.x-dev@dev'
drush en multiversion_remover -y
Enter fullscreen mode Exit fullscreen mode

2. Delete replication, replication_log and workspace entities.
Go to the following URLs and delete all the entities:
https://YOUR-SITE_URL/admin/modules/uninstall/entity/replication
https://YOUR-SITE-URL/admin/modules/uninstall/entity/replication_log
https://YOUR-SITE-URL/admin/modules/uninstall/entity/workspace

3.-Implement a hook update.
Copy the code from this repo and paste it in a hook update in one of your custom modules.

Clear caches from the backend https://YOUR-SITE-URL/admin/config/development/performance or using the terminal drush cr

4.- Run the Drupal updates
We need to execute the hook update that we implemented in the previous step, so we have to run the drupal updates from the browser https://YOUR-SITE-URL/update.php or using the terminal drush updb -y

Important: While the updates are running, we need to check if the entities that we deleted in a previous step are not recreated, otherwise, we will have to re-delete them.

Remember, it has to be done before the updates process ends.
URLs to check if the entities were not re-created while running the updates:
https://YOUR-SITE_URL/admin/modules/uninstall/entity/replication
https://YOUR-SITE-URL/admin/modules/uninstall/entity/replication_log
https://YOUR-SITE-URL/admin/modules/uninstall/entity/workspace

Most likely, you will get an error, that is ok.

5.- Execute multiversion remover functions.
You need to execute the following commands, to complete the removal process:

drush php-eval "multiversion_remover_uninstall_multiversion_suite()"
drush php-eval "_multiversion_remover_purge_multiversion_kvp()"
Enter fullscreen mode Exit fullscreen mode

6.- Uninstall the Multiversion Remover module.
At this point, the Multiversion Remover module did its job and we can remove it from the project.

drush pmu multiversion_remover -y
composer remove drupal/multiversion_remover
Enter fullscreen mode Exit fullscreen mode

Image of AssemblyAI

Automatic Speech Recognition with AssemblyAI

Experience near-human accuracy, low-latency performance, and advanced Speech AI capabilities with AssemblyAI's Speech-to-Text API. Sign up today and get $50 in API credit. No credit card required.

Try the API

Top comments (7)

Collapse
 
kenrbnsn profile image
Ken Robinson

Following the procedure, I got a WSOD after doing this step:
YOUR-SITE-URL/admin/modules/uninst...
I forged ahead anyway and everything else seemed to work OK. Thanks

Collapse
 
davo20019 profile image
David Loor

Glad that it worked.

Collapse
 
kenrbnsn profile image
Ken Robinson

@davo20019 I'm finally trying to follow your example, but your repo is missing. :( Is it somewhere else?

Collapse
 
davo20019 profile image
David Loor

@kenrbnsn I jus updated the post, and the link is this one: github.com/davo20019/multiversion-...

Collapse
 
kenrbnsn profile image
Ken Robinson • Edited

@davo20019 I followed the directions and it seemed to get rid of multiversion and all of the associated modules. I've updated my site to 9.5.7, but when I do a
"$ drush updb -y"

I get this error:

>  [notice] Update started: system_post_update_entity_revision_metadata_bc_cleanup
>  [error]  Drupal\multiversion\Entity\Storage\Sql\MediaStorage does not implement Drupal\Core\Entity\ContentEntityStorageInterface
>  [error]  Update failed: system_post_update_entity_revision_metadata_bc_cleanup
 [error]  Update aborted by: system_post_update_entity_revision_metadata_bc_cleanup
Enter fullscreen mode Exit fullscreen mode

What to I have to do to get rid of that error?

Collapse
 
tonygutierrez profile image
tony-gutierrez • Edited

@davo20019 Your gist link is broken for the update hook repo code?

Collapse
 
davo20019 profile image
David Loor

@tonygutierrez you many not longer need this, but I just updated the link. github.com/davo20019/multiversion-...

Image of AssemblyAI

Automatic Speech Recognition with AssemblyAI

Experience near-human accuracy, low-latency performance, and advanced Speech AI capabilities with AssemblyAI's Speech-to-Text API. Sign up today and get $50 in API credit. No credit card required.

Try the API

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay