How to solve the Umbraco Deploy schema mismatch error Database type is different

Posted written by Paul Seal on January 05, 2024 Modern .NET SQL Umbraco

Yesterday I was trying to transfer content between 2 environments on Umbraco Cloud and I came across this Umbraco Deploy schema mismatch error.

The main issue was listed as being:

Database type is different

Here is a screenshot of the error:

1

Screenshot of the error

I've not had many schema mismatch errors lately with my Umbraco Cloud sites and I hadn't seen one like this before.

I raised a support ticket with Umbraco Cloud, but in the meantime I also contacted my friend Frans from Webwonders because I know he has a lot of experience with Umbraco Cloud and these sort of errors.

It was thanks to Frans that we were able to work out what caused the error and how to fix it.

For the datatype which was reporting the error, the database type was not the same in my local database compared to the database type which was in the Umbraco Cloud Development.

To see this I looked at the values in the table called umbracoDataType

In order to connect to the Development environment's database you need to go to the Umbraco Cloud Portal, go to your project and then click on settings menu and the connection details option.

2A

Connection details menu

When you get to the next screen you will need to make sure you can connect to the database by adding your current IP address

3A

Add your IP address

Once you have added your IP address you will see a green tick and you will see your IP address in the list.

4

IP address added successfully

Now we can try to connect to the database.

To do that we need our connection details which are below the section where you add you IP address.

5A

Here are your connection details

Then you can use these in SQL Server Management studio to connect.

6

Connection details parts 1, 2, and 3

7

Connection details part 4

Once you connect, you can query the umbracoDataType table to find the datatype you need to edit and see what the value is in the database type field.

If you compare that to the one in your local database you will see where the difference is.

8

This is the value in the Development database

9

This is the value in the local database

So the solution was to update the value of the database type field to match the one in the local database.

With that done I was able to complete the transfer of the content from the local site to the development site.

Thanks again to Frans for his excellent help.