code: def check():
      
      upgrader = InvenioUpgrader()
      logger = upgrader.get_logger()
  
      try:
          # Run upgrade pre-checks
          upgrades = upgrader.get_upgrades()
  
          # Check if there's anything to upgrade
          if not upgrades:
              logger.info("All upgrades have been applied.")
              return
  
          logger.info("Following upgrade(s) have not been applied yet:")
          for u in upgrades:
              logger.info(
                  " * {0} {1}".format(u.name, u.info))
  
          logger.info("Running pre-upgrade checks...")
          upgrader.pre_upgrade_checks(upgrades)
          logger.info("Upgrade check successful - estimated time for upgrading"
                      " Invenio is %s..." % upgrader.human_estimate(upgrades))
      except RuntimeError as e:
          for msg in e.args:
              logger.error(unicode(msg))
          logger.error("Upgrade check failed. Aborting.")
          raise
docs: Command for checking upgrades.