Schema Comparison table not showing Name after upgrade v13 to v17

My Scenario

Umbraco v13.14.0 upgrading to v17.5.0, running locally.

Setup

Do a site upgrade - appeared to succeed (no errors in the site startup and viewing the migration steps)
The site BO displays correctly.
Navigate to Settings → Deploy

The problem

#1 - The table for Schema comparison shows lots of uda file entries but no Name value.
#2 - Click on View Details and there are validation errors.
#3 - For a couple of Commerce email template files that show up as missing in Umbraco, the Create Item action also fails with validation error.

Investigation

Since this is an upgrade to Bellisima for the BO, I had to modify some DataTypes so that the Label field used the new UMF references,
eg from {linkTitle || $contentTypeName} to {umbValue:linkTitle || umbValue:$contentTypeName}

So I have to go back to Settings - Deploy and Update Umbraco schema to renew the item definition.
This succeeds and the type Label fields are now showing correctly.
The Schema Comparison table still does not show a Name value and the validation error shows when trying View Details.
The actual error details gives me this

	 "errors": {"udi": ["The udi field is required." ]}

I did lots of checking around and repeating my steps from scratch (restoring the v13 db into my new v17 project db each time to force a migration) with no change, no matter what I tweaked.

When viewing the Deploy Settings page in the browser, I noticed that the browser makes a fetch to get the schema object list:
The response is a fully populated list with elements of this format:

        {
            "udi": "umb://data-type/1df9f033e6d4451fb8d2e0cbc50a836f",
            "name": "Image Cropper",
            "fileName": "data-type__1df9f033e6d4451fb8d2e0cbc50a836f.uda",
            "umbracoExists": true,
            "fileExists": true,
            "isUpToDate": true,
            "canDeleteItem": true
        },

I have an Umbraco Cloud starter project for v17.4.2 and when viewing the schema comparison table there, everything shows up correctly with Name value in the table.
Viewing the browser response to a fetch of the schemas, I get elements of this format:

       {
            "udi": {
                "uriValue": "umb://data-type/930861bfe2624eada704f99453565708",
                "entityType": "data-type",
                "isRoot": false
            },
            "label": "Label (bigint)",
            "fileName": "data-type__930861bfe2624eada704f99453565708.uda",
            "umbracoExists": true,
            "fileExists": true,
            "isUpToDate": true,
            "canDeleteItem": true
        },

Cause identified

So I can see that the reason the Schema Comparison table is not showing Name value, and errors when View Details is clicked, is because it is not getting the right data format.

So why is the response data not in the right format?

My source project code is admittedly pointing to v17.5.0 and not v17.4.2, but it would seem that the upgrade is not using the correct Umbraco library for the api method call.
I have cleaned my whole solution, checked that all U libraries are using the most latest v17 libraries, and done a full solution rebuild.

Can anyone assist me to fix this issue? Suggestions?

Many thanks,

AJ

Hi @ajatnow

Can you check what version of Deploy you are using as this is a separate Nuget package and not part of the standard CMS. Make sure you are on the latest versions for everything and then try and fresh export of the deploy files from the back-office to see if that solves anything.

Justin

hey @ajatnow

The two JSON shapes you posted :

  • Yours: "udi": "umb://data-type/..." (flat string), field named name
  • Healthy v17.4.2: "udi": { "uriValue": ..., "entityType": ..., "isRoot": false }, field named label

That’s the pre-Bellissima Deploy contract vs the current one. Your Umbraco.Cms packages being on 17.5.0 doesn’t guarantee Umbraco.Deploy (and any Commerce-Deploy connector) restored to a matching version — that’s a separate package line with its own release cadence.

Run:

dotnet list package --include-transitive | grep -i deploy

and check every Umbraco.Deploy* / Commerce Deploy connector is actually 17.5.0, not just Umbraco.Cms.

Then force a clean restore — bin/obj deletion specifically, not just Visual Studio’s Clean Solution, since stale Deploy DLLs there are the usual culprit:

rm -rf bin obj
dotnet nuget locals all --clear
dotnet restore && dotnet build

Good suggestions but unfortunately a clean and refresh of all dlls did not solve the problem.

I am most definitely using the up to date versions of all Umbraco libraries to match.
These are my references (trimmed to show just the U libs)

   Top-level Package                         Requested     Resolved
   > Umbraco.Cloud.Cms                             17.2.0      17.2.0
   > Umbraco.Cloud.StorageProviders.AzureBlob      17.1.0      17.1.0
   > Umbraco.Cms                                   17.5.0      17.5.0
   > Umbraco.Cms.Api.Common                        17.5.0      17.5.0
   > Umbraco.Cms.Api.Delivery                      17.5.0      17.5.0
   > Umbraco.Cms.Api.Management                    17.5.0      17.5.0
   > Umbraco.Cms.Core                              17.5.0      17.5.0
   > Umbraco.Cms.Infrastructure                    17.5.0      17.5.0
   > Umbraco.Cms.Web.Common                        17.5.0      17.5.0
   > Umbraco.Cms.Web.Website                       17.5.0      17.5.0
   > Umbraco.Commerce                              17.1.5      17.1.5
   > Umbraco.Commerce.Cms                          17.1.5      17.1.5
   > Umbraco.Commerce.Core                         17.1.5      17.1.5
   > Umbraco.Commerce.Deploy                       17.0.1      17.0.1
   > Umbraco.Community.Contentment                 6.2.0       6.2.0
   > Umbraco.Deploy.Cloud                          17.2.0      17.2.0
   > Umbraco.Deploy.Contrib                        17.0.0      17.0.0
   > Umbraco.Forms                                 17.4.2      17.4.2
   > Umbraco.Forms.Deploy                          17.0.0      17.0.0
   
   
   Transitive Package                                             Resolved
   > Umbraco.Cloud.Cms.StaticAssets                               17.2.0
   > Umbraco.Cloud.StorageProviders.AzureBlob.Core                17.1.0
   > Umbraco.Cloud.StorageProviders.AzureBlob.ImageSharp          17.1.0
   > Umbraco.Cms.Examine.Lucene                                   17.5.0
   > Umbraco.Cms.Imaging.ImageSharp                               17.5.0
   > Umbraco.Cms.Persistence.EFCore                               17.5.0
   > Umbraco.Cms.Persistence.EFCore.Sqlite                        17.5.0
   > Umbraco.Cms.Persistence.EFCore.SqlServer                     17.5.0
   > Umbraco.Cms.Persistence.Sqlite                               17.5.0
   > Umbraco.Cms.Persistence.SqlServer                            17.5.0
   > Umbraco.Cms.PublishedCache.HybridCache                       17.5.0
   > Umbraco.Cms.StaticAssets                                     17.5.0
   > Umbraco.Cms.Targets                                          17.5.0
   > Umbraco.Commerce.Cms.Startup                                 17.1.5
   > Umbraco.Commerce.Cms.Web                                     17.1.5
   > Umbraco.Commerce.Cms.Web.Api                                 17.1.5
   > Umbraco.Commerce.Cms.Web.Api.Management                      17.1.5
   > Umbraco.Commerce.Cms.Web.Api.Payment                         17.1.5
   > Umbraco.Commerce.Cms.Web.Api.Storefront                      17.1.5
   > Umbraco.Commerce.Cms.Web.StaticAssets                        17.1.5
   > Umbraco.Commerce.Common                                      17.1.5
   > Umbraco.Commerce.Infrastructure                              17.1.5
   > Umbraco.Commerce.Persistence                                 17.1.5
   > Umbraco.Commerce.Persistence.Sqlite                          17.0.0
   > Umbraco.Commerce.Persistence.SqlServer                       17.1.5
   > Umbraco.Commerce.Web                                         17.1.5
   > Umbraco.Deploy.Core                                          17.2.0
   > Umbraco.Deploy.Infrastructure                                17.2.0
   > Umbraco.Deploy.StaticAssets                                  17.2.0
   > Umbraco.Deploy.Targets                                       17.2.0
   > Umbraco.Deploy.UI                                            17.2.0
   > Umbraco.Forms.Core                                           17.4.2
   > Umbraco.Forms.Core.Providers                                 17.4.2
   > Umbraco.Forms.Examine                                        17.4.2
   > Umbraco.Forms.StaticAssets                                   17.4.2
   > Umbraco.Forms.Web                                            17.4.2
   > Umbraco.Licenses                                             17.0.2
   > Umbraco.StorageProviders                                     17.1.0
   > Umbraco.StorageProviders.AzureBlob                           17.1.0
   > Umbraco.StorageProviders.AzureBlob.ImageSharp                17.1.0

As you can see, these are entirely consistent.
The files in the bin folder match also.


The site loads just fine but the BO is still not showing the schema comparison table with a Name and it is still not possible to view details. The same shaped data is returned by the fetch of schema.

I have tried to Export Schema (to refresh the uda files). The new fresh uda files all have the version reported as 17.2.0.
Then reloaded the Deploy page to see if the shaped data changed at all. No it didn’t.

Hi @ajatnow

Are you able to show a screenshot of what you are seeing in the backoffice, along with any associated error messages in the network tab in your browser and any errors in the Umbraco log (if any).

I don’t have a v17 site on Cloud to check, but if we can’t get to the bottom of this on the forum it may be best to drop Umbraco support a ticket as ultimately Umbraco Cloud is a paid product and Deploy is closed source so there’s only so much we can see.

Justin

Thank you so much for all the suggestions.

I think that I just have to go back to basics with this upgrade and start from a point where the BO works properly, and then gradually add my custom code back in.

  • So far I have built an empty v17 project and the BO is working as expected there.
  • I am adding each package one at a time and checking as I go.
  • Then I will add my custom data as uda files and check that.
  • Then I will start adding my custom projects one at a time.

Slow going to repeat earlier work, but this is going to be probably the only way for a clean compile and run.

Likely I have got a confusion of libs somewhere in the mix.

Really helpful to know that I can come to ask the community for funny things like this.
Thanks everyone.