1

I need to upgrade one of our websites from Umbraco 6.0.7 to 7.4.0. I've updated the NuGet package and followed upgrade guides. I've replaced umbraco, umbraco_client and config folders to make sure there is no configuration incompatible with 7.4.0.

Unfortunately, the update wizard fails with this error message:

 2016-02-16 20:57:13,838 [P6904/D3/T10] ERROR Umbraco.Core.DatabaseContext - Database configuration failed
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 'System.Dynamic.ExpandoObject' does not contain a definition for 'NodeId'
   at CallSite.Target(Closure , CallSite , Object )
   at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0)
   at Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSeven.UpdateRelatedLinksData.<UpdateRelatedLinksDataDo>b__15(Object x)
   at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
   at System.Linq.Enumerable.<DistinctIterator>d__63`1.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSeven.UpdateRelatedLinksData.UpdateRelatedLinksDataDo(Database database)
   at Umbraco.Core.Persistence.Migrations.Syntax.Execute.Expressions.ExecuteCodeStatementExpression.Process(Database database)
   at Umbraco.Core.Persistence.Migrations.MigrationRunner.ExecuteMigrations(IMigrationContext context, Database database)
   at Umbraco.Core.Persistence.Migrations.MigrationRunner.Execute(Database database, DatabaseProviders databaseProvider, Boolean isUpgrade)
   at Umbraco.Core.Persistence.Migrations.MigrationRunner.Execute(Database database, Boolean isUpgrade)
   at Umbraco.Core.DatabaseContext.UpgradeSchemaAndData(IMigrationEntryService migrationEntryService)

It seems that UpdateRelatedLinksData upgrade step expects different data / schema. How to fix this? Are there any manual changes to database required?

Dusan Janosik
  • 296
  • 3
  • 11

1 Answers1

0

I have this exact same problem. I haven't found the answer yet but am exploring options on this thread over on our, umbraco's site.

I have managed to get the database upgraded to 7.3.7 by pointing a vanilla installation of Umbraco 7.3.7 at my 6.0.5 database, but when I try point the 6.0.5 site at the database I got this error which I could not resolve:

[InvalidCompositionException: ContentType with alias 'HeaderAndFooter' was added as a Composition to ContentType with alias 'AToZResults', but there was a conflict on the following PropertyTypes: 'umbracoNaviHide'. PropertyTypes must have a unique alias across all Compositions in order to compose a valid ContentType Composition.]

So I attempted to upgrade to 7.4 and got your error. I have found this ExpandoObject error on Umbraco's issues site and also a similar discussion on this issue and I followed the suggestion of exporting the database to an empty 6.1.6 instance. I can't get the data imported into the empty 6.1.6 database though, there are too many PK and FK constraint issues. Some people do suggest manual database edits, but mine's a large production site so I'm not going there.

So I am currently trying two ways: 1) Upgrading sequentially 2) The suggestion on the Umbraco thread, which is 'so if you have an updated vanilla umbraco solution pointing at an upgraded 7.3.7 database, can you just copy across the views, css scripts, js, images, config, fonts, media into the new solution... will it fly ?'

If anything works, I'll keep you posted!

kelpie
  • 433
  • 1
  • 7
  • 14
  • 1
    Upgrade to 7.4.0 is broken (see [this](https://github.com/umbraco/Umbraco-CMS/commit/325f92f6ca4b5a14c5a963f2d135480505236de9)). Will try 7.3.7. – Dusan Janosik Feb 17 '16 at 11:58
  • 1
    I've upgraded to 7.3.7 with no issues. – Dusan Janosik Feb 17 '16 at 14:44
  • Good stuff. I'm up to 6.2.5 and starting to try and sort out nested properties before I go any further. Apparently Composites in 7x just won't have them and that's causing my error. – kelpie Feb 17 '16 at 16:24
  • Upgrading from to 7.3.7 let the install complete however clicking on nodes within the site continued to throw the error. – nologo Oct 24 '16 at 09:29