5 votes

uMigrate

There are many Umbraco systems for code-first approachs for Umbraco entity management, but they tend to be more about CRUD over these entities.

uMigrate is a code-first entity upgrade framework that enables you to code versioned migrations for automated ForwardsOnly releases.

We initially developed this to help us control how we remap and refactor content that was specific to Umbraco 4 extensions that needed to be re-thought in Umbraco 7 - like conversions from extensions like uComponents to Archetype. Similar to automated database migration frameworks like FluentMigrator we found that in Umbraco there were equivalent factors / paradigms to consider:

 

  • Table renames => DocumentType renames
  • Column renames => DocumentType property renames
  • Data Type alteration => DataType (property editor) mapping

 

We still use uSync, but is configured to kick-in after migration.

Full detail is available on: https://github.com/AffinityID/uMigrate/.

There're two nuget packages;

 

  • https://www.nuget.org/packages/uMigrate/
  • https://www.nuget.org/packages/uMigrate.Core/

 

Use https://www.nuget.org/packages/uMigrate.Core/ if you don't need Umbraco UI visiblity (e.g. you have migrations in a separate dll).

Of course there're other ways to do upgrades (see http://our.umbraco.org/documentation/installation/upgrading/v7-upgrade, http://our.umbraco.org/projects/developer-tools/cmsimport & http://our.umbraco.org/projects/developer-tools/umport), but this is more suited to implementations where you want to avoid manual CMS alterations after or during your release cycle and want to ensure your NodeIds or MediaIds are maintained throughtout.

Remember it's a framework for how to describe and manage your upgrades, not a one-stop auto-upgrade umbraco version X to Y system. Because it can't read your mind, you still need to specify the mapping yourself.

Screenshots

Package owner

Affinity Id

Affinity Id

Affinity has 45 karma points

Package Compatibility

This package is compatible with the following versions as reported by community members who have downloaded this package:
Untested or doesn't work on Umbraco Cloud
Version 8.18.x (untested)

You must login before you can report on package compatibility.

Previously reported to work on versions: 7.2.x

Package Information

  • Package owner: Affinity Id
  • Created: 13/10/2014
  • Current version See NuGet
  • .NET version 4.0
  • License MIT
  • Downloads on Our: 622

External resources