Umbraco Cloud
CMSHeartcoreDXPMarketplace
  • What is Umbraco Cloud?
  • Frequently asked questions
  • Security
    • Web Application Firewall
  • Sustainability Best Practices
  • Getting Started
    • Explore Umbraco Cloud
    • The Cloud Portal
      • Organizations
      • Sustainability Dashboard
    • Project Overview
    • Environments
    • Flexible Environments (beta)
    • Baselines
      • Baseline Merge Conflicts
      • Break Reference between Baseline and Child Project
      • Handling configuration files
      • Pushing Upgrades to a Child Project
    • Plans
    • Migrate to Umbraco Cloud
    • Repositories in a Cloud Project
    • Best Practice for Working in Teams
    • Migrate between regions
  • Set up
    • Ready to Set Up Your Project?
    • Working with a Local Clone
      • Legacy Umbraco Visual Studio Setup
    • Manage Environments
    • Project Settings
      • Managing Transport Security
      • CDN Caching and Optimizations
      • Dedicated Resources
      • Upgrade your Plan
      • Public Access
      • Managing Hostnames
        • New Certificate Authority for custom hostnames
        • Rewrite rules
        • Custom Certificates
      • Management API Security
      • Umbraco CI/CD Flow
        • Cloud API For CI/CD Flow
        • Configuring a CI/CD pipeline
          • Azure DevOps
          • GitHub Actions
        • Troubleshooting
        • Known Limitations and Considerations
      • External Services
      • Usage
        • Bandwidth
      • Availability and Performance
      • Team Members
        • Technical Contact
      • Secrets Management
      • Project History
    • Private NuGet Feed on Umbraco Cloud
    • Going Live
    • Media
    • External Login Providers
    • Azure Blob Storage
      • Connect to Azure Storage Explorer to upload files manually
      • Connect and Upload Files Programmatically to Azure Blob Storage
    • Users
    • Multi-Factor Authentication
    • Application Insights
    • Config Transforms
    • SMTP Settings
    • Payments
      • Subscription migration information and FAQ
    • Power Tools (Kudu)
      • View the Files on your Cloud Environments
      • Generate UDA files
      • Manually run Extractions on your Cloud Environments
  • Deployments
    • Deployment
    • Deploying between environments
    • Transferring Content, Media, Members, and Forms
    • Deploying Deletions
    • Deployment Webhook
    • Deploying Changes
    • Umbraco Forms on Cloud
    • Deploy Dashboard
    • Hotfixes
      • Apply hotfix by manually moving files
      • Apply hotfix by using Git
    • Restoring Content
      • Partial Restores
  • Databases
    • Keep Your Data Secure and Accessible
    • Working with databases
    • Database backups
    • Database
      • Connecting to the Database on Mac
    • Working with a Cloud database locally
  • Product Upgrades
    • Stay Up to Date with Umbraco Cloud
    • Product Upgrades
    • Major Upgrades
    • Minor Upgrades
    • Version Specific Upgrades
      • Migrate from Umbraco 8 to the latest version
      • Migrate from Umbraco 7 to Umbraco 8 on Umbraco Cloud
    • Upgrade your projects manually
      • Manual upgrade of Umbraco CMS
      • Manual upgrade of Umbraco Deploy
    • Dependencies on Umbraco Cloud
  • Troubleshooting
    • Resolve Issues Quickly and Efficiently
    • Troubleshooting FAQ
    • Log files
    • The Umbraco Backoffice
    • The Frontend
    • The Umbraco Cloud Portal
    • Site Performance checklist
    • Troubleshooting deployments
      • Extraction error: Config transforms failing
      • Extraction error: Data Type collisions
      • Dependency Exception
      • Merge Conflicts on Flexible Environments
      • Troubleshooting deployments failing with no error message
      • Troubleshooting duplicate dictionary items
      • Troubleshooting language mismatches
      • Path too long Exception
      • Schema Mismatches
      • How to resolve collision errors
      • Extraction error: "Type not found! "
    • Cloud Errors
  • Release Notes
    • Overview 2025
      • April 2025
      • March 2025
      • February 2025
      • January 2025
    • Overview 2024
      • December 2024
      • November 2024
      • October 2024
      • September 2024
      • August 2024
      • July 2024
      • May 2024
      • April 2024
      • March 2024
      • February 2024
      • January 2024
    • Overview 2023
      • December 2023
      • October 2023
      • September 2023
      • August 2023
      • June 2023
      • May 2023
      • April 2023
      • March 2023
      • February 2023
      • January 2023
    • Overview 2022
      • December 2022
      • November 2022
      • September 2022
      • August 2022
      • June 2022
      • May 2022
      • April 2022
      • March 2022
      • February 2022
      • January 2022
Powered by GitBook
On this page
  • Prerequisites
  • Video Tutorial
  • Step 1: Content Migration
  • Step 2: File Migration
  • Step 3: Custom Code in the latest version
  • Examples of changes
  • Step 4: Deploy and Test on Umbraco Cloud
  • Step 5: Going live
  • Related Information

Was this helpful?

Edit on GitHub
Export as PDF
  1. Product Upgrades
  2. Version Specific Upgrades

Migrate from Umbraco 8 to the latest version

This article will provide steps on how to migrate a Cloud project from Umbraco 8 to Umbraco 10.

PreviousVersion Specific UpgradesNextMigrate from Umbraco 7 to Umbraco 8 on Umbraco Cloud

Last updated 28 days ago

Was this helpful?

It is currently not possible to upgrade directly from Umbraco 8 to the latest version.

The recommended approach for upgrading from version 8 to the latest version is to use this guide to upgrade from Umbraco 8 to Umbraco 10 . Umbraco 10 contains the that must be upgraded from Umbraco 8. You can then use the steps to upgrade from Umbraco 10 to the latest version.

Since the underlying framework going from Umbraco 8 to the latest version has changed, there is no direct upgrade path. That said, it is possible to re-use the database from your Umbraco 8 project on your new project in order to maintain the content.

It is not possible to migrate the custom code as the underlying web framework has been updated from ASP.NET to ASP.NET Core. All templates and custom code will need to be reimplemented.

You also need to make sure that the packages that you are using are available on the latest version.

Prerequisites

  • A Umbraco 8 Cloud project running the latest version of Umbraco 8.

  • A clean Cloud project running the latest version of Umbraco with at least two environments.

  • A backup of your Umbraco 8 project database.

It is recommended to have at least two environments on the new Umbraco project.

If your Umbraco 8 site is using Umbraco Forms, make sure to configure it to store data in the database, before beginning this tutorial

Should something fail during the migration, the left-most environment can be removed and re-added to start over on a clean slate.

Video Tutorial

Step 1: Content Migration

    • Alternatively, you can clone the environment down and take a backup of the local Database after restoring. Make sure to restore both content and media from your Cloud environment after cloning it down.

  1. Import the database backup into SQL Server Management Studio.

  2. Clone down the left-most mainline environment from the new Cloud project.

  3. Test the project and make sure to log in to the backoffice.

As you are cloning down a brand new Cloud project there is nothing the restore. Select the "Skip restore and open Umbraco" link when starting up the project locally to go directly to the backoffice.

  1. Update the connection string in the new Cloud projects appsettings.json file so that it connects to the Umbraco 8 database:

"ConnectionStrings": {
    "umbracoDbDSN": "Server=YourLocalSQLServerHere;Database=NameOfYourDatabaseHere;User Id=NameOfYourUserHere;Password=YourPasswordHere;TrustServerCertificate=True",
}
  1. Run the new Cloud project locally and login to authorize the upgrade.

  2. Select "Continue" when the upgrade wizard appears.

  3. After it has finished upgrading, stop the site and disable the unattended upgrade.

  4. Run the site and log in using Umbraco ID to verify if your project has been upgraded to the new version.

This is only content migration and the database will be migrated.

You need to manually upgrade the view files and custom code implementation. For more information, see Step 3 of this guide.

Step 2: File Migration

  1. The following files/folders need to be copied from the Umbraco 8 folder into the new Cloud project folder:

    • ~/Views - Do not overwrite the default Macro and Partial View Macro files unless changes have been made to these.

    • Any files/folders related to Stylesheets and JavaScript.

  2. ~/Media folder from v8 needs to be copied over into the wwwroot - media folder:

    • Download the media folder from Azure Storage Explorer

    • Add the downloaded media folder from v8 to the Azure Storage Explorer of the new project.

  3. Migrate custom configuration from the Umbraco 8 configuration files (.config) into the appsettings.json file on the new Cloud project.

    • As of Umbraco version 9, the configuration no longer lives in the Web.Config file and has been replaced by the appsettings.json file.

    • As of Umbraco Forms version 9, it is only possible to store Forms data in the database. If Umbraco Forms was used on the Umbraco 8 project, the files need to be migrated to the database.

  4. Run the new Cloud project locally.

    • It will give you an error screen on the frontend as none of the Template files have been updated. Follow Step 3 to resolve the errors.

  5. Go to the backoffice of the project.

  6. Navigate to the Settings section and open the Deploy dashboard.

  7. Click on Export Schema to Data Files in the Deploy Operations section in order to generate the UDA files.

    • Once the operation is completed, the status will change to Last deployment operation completed.

  8. Check ~\umbraco\Deploy\Revision folder to ensure all the UDA files have been generated.

  9. Return to the Deploy dashboard.

  10. Click on Update Umbraco Schema from Data Files in the Deploy Operations section to make sure everything checks out with the UDA files that were generated.

Step 3: Custom Code in the latest version

The latest version of Umbraco is different from Umbraco 8 in many ways. With all the files and data migrated, it is now time to rewrite and re-implement all custom code and templates.

Examples of changes

One of the changes is how published content is rendered through Template files. Due to this, it will be necessary to update all the Template files (.cshtml) to reflect these changes.

  • Template files need to inherit from Umbraco.Cms.Web.Common.Views.UmbracoViewPage<ContentModels.HomePage> instead of Umbraco.Web.Mvc.UmbracoViewPage<ContentModels.HomePage>

  • Template files need to use ContentModels = Umbraco.Cms.Web.Common.PublishedModels instead of ContentModels = Umbraco.Web.PublishedModels

Depending on the extent of the project and the amount of custom code and implementations, this step is going to require a lot of work.

Step 4: Deploy and Test on Umbraco Cloud

After the project runs locally without errors, deploy and test it on the Cloud's left-most mainline environment.

  1. Push the migration and changes to the Umbraco Cloud left-most mainline environment.

The deployment might take a bit longer than normal as a lot of changes have been made.

  1. Go to the backoffice of the left-most mainline environment once everything has been pushed.

  2. Go to Settings and open the Deploy Dashboard.

  3. Click on Export Schema to Data Files in the Deploy Operations section.

    • The deployment will result in either of the two:

      • Last deployment operation failed - something failed during the check.

        • Select Clear Signatures from the Deploy Operations section.

        • Select Update Umbraco Schema from the Deploy Operations section to clear up the error.

      • Last deployment operation completed

        • Everything checks out: The left-most environment has been upgraded.

  4. Transfer Content and Media from the local clone to the left-most mainline environment.

  5. Test everything in the left-most mainline environment.

  6. Deploy to the Live environment.

Step 5: Going live

  1. Test everything in the left-most mainline environment until it runs without any errors.

  2. Setup rewrites on the new Cloud project if relevant.

  3. Assign hostnames to the project if relevant.

Hostnames are unique and can only be added to one Cloud project at a time.

Related Information

If you use Umbraco Forms, make sure to have to True before step 1.

Create a backup of the database from your Umbraco 8 project using the .

You can add the 'umbracoDbDSN_ProviderName' attribute to set the .NET Framework data provider name for the DataSource control's connection. For more information on the data providers included in the .Net Framework, see the .

Enable to authorize the database upgrade.

Connect to from the v8 project

, if relevant.

Read more about these changes in the section of the Umbraco CMS documentation.

For more information on the correct namespaces or custom code, you can find the references in the .

To transfer members make sure that the following Deploy settings are configured in the appsettings.json: .

StoreUmbracoFormsInDbset
database backup guide
Microsoft Documentation
Unattended Upgrades
Azure Storage Explorer
Migrate Umbraco Forms data to the database
IPublishedContent
API Documentation
AllowMembersDeploymentOperations and TransferMemberGroupsAsContent
Issue tracker for known issues with Content Migration
Forms on Umbraco Cloud
Working locally with Umbraco Cloud
database migrations
Major Upgrades
Follow the guide for migrating Umbraco Forms data to the database.
A video tutorial guiding you through the steps of upgrading from version 8 to the latest version on Umbraco Cloud