1

I have a site that was Craft 3.4 and Commerce 3.x (unsure of exact version).

Locally, I've been spent a big chunk of today updating to the latest versions of everything and making sure all still works OK.

In preparation of upgrading the live site, I thought I'd get the site running locally on another machine. The thought being that I could pull the project repo, download a backup of the live database, run composer install, run php craft migrate/all, then the site would be upgraded to the latest versions of everything.

This appears not to be the case. I presume that there's more to just installing plugin updates then following the upgrade process of Craft 3 to 4?

After running composer install I get the error:

An Error occurred while handling another error:
yii\base\UnknownPropertyException: Setting unknown property: craft\models\Info::configMap in /var/www/html/vendor/yiisoft/yii2/base/Component.php:209

Composer finishes installing all files, the error happens when visiting the site after composer finishes. Deleting the composer.lock and vendor folder before running composer install again makes no difference. Running any php craft ... command also gives the same error in the terminal.

Any there any other methods I can upgrade the live site in little time? I was hoping I could spend most of the time upgrading locally, then dump the live database locally (so that it's current), upgrade the database, then import to the live host. The site is also using Craft Commerce. Upgrading that to Commerce 4.x took over an hour to run the upgrade process as per the documentation.

1
  • 1
    You should probably be running php craft up instead of php craft migrate/all. Commented Sep 14, 2023 at 22:31

1 Answer 1

1

I always php craft up after composer install, it does migrations, project config apply etc.

Did you upgrade commerce to the newest version? Did you then also run the commerce upgrade command?

From docs:

The commerce/upgrade command must be run interactively. It will prompt you to designate or create fields and then migrate content to them. You’ll need to run it again in production where you can only designate target fields and migrate content—unless you temporarily disable allowAdminChanges to create fields on the fly in that environment, in which case you’d need to pull your production database down locally afterward and run project-config/write.

https://craftcms.com/docs/commerce/4.x/upgrading.html

This also need to be run in production to update the database there, after composer install, and php craft up.

Make sure to have a backup of the site in case something goes wrong!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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