Magento – Error during upgrade to Magento 2.1 from 2.0.7

composererrormagento2upgrade

Since a couple of days i try to upgrade my "native" Magento 2.0.7
I use composer as suggested by documentation :

composer require magento/product-community-edition 2.1.0 --no-update;
composer update;
php bin/magento setup:upgrade;

But when Magento try to update "Magento_Cms" native extension, I got a :

The page URL key contains capital letters or disallowed symbols.

Any help ?

EDIT : Here the solution I use to by pass the problem :

  • Edit file vendor/magento/module-cms/Setup/UpgradeData.php
  • Search for method public function upgrade(ModuleDataSetupInterface $setup, ModuleContextInterface $context){}
  • And just comment the content of the :

    if (version_compare($context->getVersion(), '2.0.1', '<')) {
    /*
    [...]
    */
    }

I don't know why setup is entering in this condition, because my current version is 2.0.7 !
Maybe this post will help someone… (you can reset the updated file after installation).

Best Answer

You could change the function in /var/www/html/magento/vendor/magento/module-cms/Model/ResourceModel/Page.php:

if (!$this->isValidPageIdentifier($object)) {
  //throw new LocalizedException(
  //    __('The page URL key contains capital letters or disallowed symbols.')
  //);
}

Or you could try to make sure your magento runs on a top level domain, I guess http://magento would throw an exception but http://magento.company.org would work. But as I'm also in the development step I will try this myself a bit later.