Drupal 7.39, all modules updated to their latest version using Drush 6.6.0. When I look at the status report it says 'database out of date'. When I do drush updb or call update.php both report that the database is up-to-date.

How can I find out where the problem is?

  • This may help: drupal.org/node/1263908 – rooby Aug 30 '15 at 1:05
  • @rooby Thanks! That helped. 1 module was acting up. So I changed the version in the system table to the version of the lowest update, ran the update.php and now the status report is green. – hepabolu Aug 30 '15 at 12:34

Here are the steps I took to solve the problem. @rooby gave the URL that helped to determine which module.

As you can read on the given URL (https://www.drupal.org/node/1263908) the problem is caused by a module having a version of -1 in the system table. The URL has instructions how to find out which one is acting up. I've followed the one in this comment: https://www.drupal.org/node/1263908#comment-9059569

This basically means:

  • open [drupalroot]/modules/system/system.install
  • find the line $requirements['update']['severity'] = REQUIREMENT_ERROR; In drupal 7.39 this is on line 412
  • add the watchdog line as described: watchdog('module update db', $module); // <-ADDED THIS LINE
  • open the status page again
  • now open the watchdog page. You should see a line that starts with 'module update db'. After it you can read the module that causes the problem.

In my case that was environment_indicator. I'm no PHP developer, so I solved the problem by opening the database in Sequel Pro and checking the version column of the system table of this module.

The file environment_indicator.install shows several updates, the first one creating a table. Since the table was present, I entered its version number (7200) in the system table. Now I was able to run the update.php which showed there were 2 updates. I let it update the database, which ran without problems.

When opening the status page everything was fine and I deleted the watchdog line from the system.install file.

I'm just curious why update.php doesn't find any updates, while status page does.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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