I am new to commerce and i am running into an issue during the migration set.
12:06:10 PM: Completed migration step: Migrates published Catalog Content
12:06:10 PM: Migrates published Catalog Content has failed with exception 'System.ArgumentNullException: Value cannot be null. Parameter name: key at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) at EPiServer.Commerce.Internal.Migration.Steps.MigratePublishedContentStep.ListPropertyData(MetaClass metaClass, String language, Int32 objectTypeId, Int32 count, DataTable propertyData, DataTable contentExData, DataTable idsToDelete) at EPiServer.Commerce.Internal.Migration.Steps.MigratePublishedContentStep.MigrateCatalogContent(MetaClass metaClass, IList`1 languages) at EPiServer.Commerce.Internal.Migration.Steps.MigratePublishedContentStep.Execute(IProgressMessenger progressMessenger)'.
12:06:10 PM: Migrating table 'CatalogNodeEx'.
12:06:10 PM: Migrating Catalog.
12:06:10 PM: Starting migration step: Migrates published Catalog Content
Appears to happen on this step: Migrates published Catalog Content
Is there something i am missing? Any advice would be great.
Is that a new Commerce site (or with sample template, like Quicksilver), or is it a working Commerce site (your solution)? I suppose the former because the time for migrating was very short. Do you have any step to reproduce?
Joshua, from what version to which version is your migration? Maybe it went well anyhow? Working with several languages? /Regards
Sorry for the late response here. I have been away for a couple days. Right now the we are going from version 7.5.440.0 to 10.2.3. This is an upgrade and not a new site and as of right now, english is the only language. To reproduct the site, i just did a straght nuget upgrade.
I would suggest you to contact our developer support service. It's unclear from the error message of what is wrong - so I suspect it's related to your catalog/configuration.
If you want a workaround and if you are not using versioning for catalog, just export the catalog, then delete it and upgrade - the migration steps would run fine. After upgrading you can import again.
It is quite a big step going from Commerce 7.5? to latest.... i had a lot going wrong on that update.
Except the error message in the migration step. What errors do you have after this when running the site?
I am not sure as i cannot get past the migration screen. I try to go to admin or just edit mode and always redirects back to the migrate screen. I can try and export and then re-import but not sure i can get past the migration screen.
You should export from your old site, then delete the catalog, then perform upgrade and import again. I.e. redo the upgrade.
As I said your best bet should be contacting Episerver developer support service.
I will let you knwo how it goes. Thanks Quan.
I wanted to close the loop on this issue. When Josh ran into this issue, he was working on a project that I eventually took over.
As it turned out, I was forced to get to the bottom of the issue. Deleting the catalog, doing the upgrade and then re-importing the catalog had the unfortunate result of breaking a lot of content references from the CMS side of the site to catalog nodes and variants. So, I had to figure out a way to do the upgrade in-place without deleting the catalog first.
I finally found that the migration code was failing to finish the migraton fo the CatalogNodeEx table because, at some point in the past, content authors had created a custom property for CatalogNodeEx named "IsActive". The problem is that there is already a built-in property named IsActive. This resulted in a DataSet being populated in this migration step with a column named "_IsActive" to not have a naming conflict with the built-in property. When the migration step attempted to access the value of this column to migrate it, it was looking for "IsActive". This resulted in an exception being thrown when the column was not found.
The solution was to simply delete the custom "IsActive" property from the CatalogNodeEx MetaClass in Commerce Manager before I started the upgrade process. This property, luckily, was not in use anywhere anyway. So, it was safe to delete.