Migrate from Vendr to Umbraco Commerce
Learn how to migrate a Vendr solution to Umbraco Commerce.
This guide provides a step-by-step approach to migrating a default Vendr solution to Umbraco Commerce.
Upgrade to the latest version of Vendr before continuing with the migration.
You can upgrade your installation by installation the latest version on top of the existing one.
You can find details on migrating the Checkout package as well as custom Payment Providers in the Further Migrations section of this article.
Key changes
Before outlining the exact steps, there are a few key changes to be aware of.
These changes will dictate the steps to take in the process of migrating to Umbraco Commerce.
Project, Package, and Namespace changes
Vendr.Common
Umbraco.Commerce.Common
Vendr.Core
Umbraco.Commerce.Core
Vendr.Infrastructure
Umbraco.Commerce.Infrastructure
Vendr.Persistence
Umbraco.Commerce.Persistence
Vendr.Persistence.Sqlite
Umbraco.Commerce.Persistence.Sqlite
Vendr.Persistence.SqlServer
Umbraco.Commerce.Persistence.SqlServer
Vendr.Umbraco
Umbraco.Commerce.Cms
Vendr.Umbraco.Web
Umbraco.Commerce.Cms.Web
Vendr.Web
Umbraco.Commerce.Web
Vendr.Web.UI
Umbraco.Commerce.Web.StaticAssets
Vendr.Umbraco.Startup
Umbraco.Commerce.Cms.Startup
Vendr
Umbraco.Commerce
C# Class changes
Namespace changes as documented above.
All classes containing the
Vendrkeyword are now updated toUmbracoCommerce.Examples:
IVendrApiis nowIUmbracoCommerceApiandAddVendr()is nowAddUmbracoCommerce().
JavaScript changes
All
vendrmodules have changed toumbraco.commercemodules.All
vendrprefixed directives, services, and resources are now prefixed withuc.All
vendrprefixed events now follow this format:Umbraco.Commerce.{target}.{action}.
UI Changes
All static UI assets are served via a Razor Compiled Library (RCL) and are no longer found in the
App_Pluginsfolder.The folder within
App_Pluginsstill exists for the static assets that are user configurable.The folder with
App_Pluginshas been renamed fromVendrtoUmbracoCommerce.UI Config files have changed from
.jsfiles to.json.
Step 1: Replace dependencies
In this first step, we will be replacing all existing Vendr dependencies with Umbraco Commerce dependencies.
Remove any installed Vendr packages (including Payment Providers):
Take a backup of any Vendr-specific templates and config files you will want to reuse:
Delete the Vendr
App_Pluginsfolder:
Install
Umbraco.Commerce:
Install Umbraco Commerce packages including any payment providers previously removed.
Reapply any backed-up config files in their new
App_Pluginslocation.Move any backed-up templates into the
~/Views/UmbracoCommerce/Templates/folder.Rename any config files with a
.jsonfile extension rather than the previous.js.Compile your project against .NET 7.0.
Step 2: Update namespaces and entity names
Based on the Key Changes outlined above update all Vendr references to the new Umbraco Commerce alternatives. Ensure you update any Views/Partials that also reference these.
Step 3: Update the database
In this step, we will cover updating the database for Umbraco Commerce.
Backup your database
Rename database tables using the following query:
Swap Vendr property editors for Umbraco Commerce property editors:
Swap the Vendr variants editor for the Umbraco Commerce variants editor in the block list data entry:
Swap Vendr price/amount adjustments to Umbraco Commerce price/amount adjustments:
Update template paths:
Update the migrations log:
Update the activity logs:
Step 4: Finalizing the migration
Delete any obj/bin folders in your projects to ensure a clean build.
Recompile all projects and ensure all dependencies are restored correctly
Delete the existing Vendr license files in the
umbraco\Licensesfolder.Add your new Umbraco.Commerce license key to the
appSettings.jsonfile:
Update any payment gateways that use a global webhook:
Run the project.
It is highly recommended to ensure everything works as expected, before moving on to migrating packages and custom payment providers.
Further Migrations
If you have been using the Vendr Checkout package, you will need to follow some additional steps to migrate this package to Umbraco Commerce. Follow the link below for a complete guide:
Migrate Umbraco Commerce CheckoutAny custom payment providers used with Vendr also need to be migrated to Umbraco Commerce. Follow the link below to find detailed steps on how to perform this migration:
Migrate custom Payment ProvidersCommon Issues
DB Migration Issue Due to Column Constraints
Some users have reported issues running the Umbraco Commerce migrations resuling in an error along the lines of:
The issue generally revolves around the default constraints not having the expected name. To resolve this you should identify the table and the problematic constraint and manually drop the constraint:
This will remove the constraint allowing the migrations to run which should re-add the constraints with the correct name.
Last updated
Was this helpful?