cannot enable module after DB migration, only in one environment I have 3 environments: live, stage &amp; dev.

I've taken a database backup from live and imported into stage &amp; dev.

I clear all caches on stage &amp; dev and navigate to /admin/modules to turn on module_a but on stage it's disabled and i'm unable to enable it.

It seems strange that I am enable it locally but it's disabled on stage.

How do I go about debugging this?
The system module builds this form in the function system_modules(). It disables a module in the UI under 3 conditions:


The module is required by your Drupal distribution. 
The module is missing a dependency.
The module (or one of its dependencies) has version incompatibility with Drupal core.


In any of these cases, you can click the Description fieldset which shows the dependencies required and highlights the ones that are missing. 

Another direct method is to utilize the Drush command:

drush en module_a


Drush will attempt to enable the module and alert you if module_a doesn't exist or it has unmet dependencies (which should help you track down what is missing).