Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • nickornotto 397 posts 900 karma points
    Jun 19, 2021 @ 13:20
    nickornotto
    0

    Will it be possible to upgrade Umbraco 7 to 9 (skipping version 8)?

    With Umbraco 9 right behind the corner already I wonder if it will be possible to upgrade from Umbraco 7.15... to Umbraco 9 directly - skipping verion 8?

    As the upgrade from 7 to 8 is not that straightforward we are obviously thinking to save ourselves the work and skip one step and upgrade directly to version 9.

    Are there any recommendations about the upgrade to 9 already?

    Thanks

  • Nikolaj Brask-Nielsen 8 posts 168 karma points MVP c-trib
    Jun 19, 2021 @ 16:45
    Nikolaj Brask-Nielsen
    100

    I'm pretty sure the recommendation is to upgrade in two steps. First to Umbraco 8 and then to Umbraco 9.

    You don't have to update all your views so they work in Umbraco 8 but you should upgrade to Umbraco 8 to update the database and then upgrade to Umbraco 9.

    They explain it in this live stream recording:

    Umbraco 9 beta release (live stream recording) https://www.youtube.com/watch?v=_cRgptwuMdU&t=2204s

  • Søren Kottal 702 posts 4497 karma points MVP 5x c-trib
    Jun 19, 2021 @ 17:31
    Søren Kottal
    0

    Hi Nick,

    No, you are not going to be able to straight from 7 to 8 - you have to get to 8 first.

    But the good news is, it is pretty easy to get to v8 (at least if your end goal is 9), you just have to run the installer/updater in order to get the database migrations run. From then you can point v9 at your database.

    You don't have to do any code changes for 7 to 8, you can simply use a blank v8 install.

  • Adam Hearn 13 posts 109 karma points
    Jun 21, 2021 @ 20:37
    Adam Hearn
    2

    I would respectfully disagree... the upgrade from v7 to v8 may prove challenging [and potentially impossible] depending on the packages used. If it's a simple out of the box v7, then yes the upgrade will be OK but how many sites don't rely on something?

  • nickornotto 397 posts 900 karma points
    Dec 30, 2021 @ 00:38
    nickornotto
    0

    It is already proving challenging for me. I am running timeout error on the database upgrade for now.

    I can extend my initial question here:

    Did the database schema change between versions 8 and 9?

    If not I could just upgrade the database to version 8 and then migrate my code to new Umbraco 9 solution pointing it to v 8 database. (This way the version 8 can be skipped.)

    Your answer @SørenKottal suggests that this can be done? Have you actually tried it or you are just speculating?

    I would appreciate to hear your experiences if someone tried to do something similar.

    There is simply no point of doing lots of code changes to make version 8 working and doing them again when upgrading to version 9.

  • Søren Kottal 702 posts 4497 karma points MVP 5x c-trib
    Dec 30, 2021 @ 13:59
    Søren Kottal
    100

    Yes, I've done it. Blank v8 install pointed at the v7 db, to kick in the 7 to 8 migration.

    Then a new v9 install, pointed at the (now) v8 db, to kick in v8 to v9 migration.

    Then port all the code to v9.

    But, theres a bunch of gotchas, like if you have id-based pickers (media/content pickers pre 7.6), you need to convert/migrate these to udi based first.

    A lot of v7 packages hasn't been migrated to v8 or v9. And if they do, they might have breaking changes. Eg. Doc Type Grid Editor needs to use element document types in v8 and up - so if you have used the same doc type for content AND grid editors, then you need to figure out how to handle that.

  • nickornotto 397 posts 900 karma points
    Dec 30, 2021 @ 14:13
    nickornotto
    0

    Bril, thanks Søren!

    I converted my id to Udi already as per recommendations before migrating to v8.

    And we don't have practically any plugins except uSync, we've been waiting for v9 to add some to the project.

    We don't use Doc Type Grid Editor, only Umbraco.Grid, I hope this stays as it was.

  • Søren Kottal 702 posts 4497 karma points MVP 5x c-trib
    Dec 30, 2021 @ 14:20
    Søren Kottal
    0

    Cool - then you should be all set!

  • nickornotto 397 posts 900 karma points
    Mar 02, 2022 @ 22:35
    nickornotto
    0

    Just wanted to ask you a couple of questions as we are having lots of different issues during the upgrade to v8.

    Did you encounter any of the below or anything similar?

    1. We are having issues to upgrade the database because constantly getting "truncated error":

    {
      "@t": "2022-03-02T21:54:43.0218278Z",
      "@mt": "Exception ({InstanceId}).",
      "@l": "Error",
      "@x": "System.Data.SqlClient.SqlException (0x80131904): String or binary data would be truncated.\r\nThe statement has been terminated.\r\n   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)\r\n   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)\r\n   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)\r\n   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)\r\n   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)\r\n   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)\r\n   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)\r\n   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)\r\n   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()\r\n   at StackExchange.Profiling.Data.ProfiledDbCommand.ExecuteNonQuery() in C:\\projects\\dotnet\\src\\MiniProfiler.Shared\\Data\\ProfiledDbCommand.cs:line 272\r\n   at Umbraco.Core.Persistence.FaultHandling.FaultHandlingDbCommand.<ExecuteNonQuery>b__31_0() in D:\\a\\1\\s\\src\\Umbraco.Core\\Persistence\\FaultHandling\\RetryDbConnection.cs:line 209\r\n   at Umbraco.Core.Persistence.FaultHandling.FaultHandlingDbCommand.<>c__DisplayClass33_0`1.<Execute>b__0() in D:\\a\\1\\s\\src\\Umbraco.Core\\Persistence\\FaultHandling\\RetryDbConnection.cs:line 222\r\n   at Umbraco.Core.Persistence.FaultHandling.RetryPolicy.ExecuteAction[TResult](Func`1 func) in D:\\a\\1\\s\\src\\Umbraco.Core\\Persistence\\FaultHandling\\RetryPolicy.cs:line 172\r\n   at Umbraco.Core.Persistence.FaultHandling.FaultHandlingDbCommand.Execute[T](Func`1 f) in D:\\a\\1\\s\\src\\Umbraco.Core\\Persistence\\FaultHandling\\RetryDbConnection.cs:line 219\r\n   at Umbraco.Core.Persistence.FaultHandling.FaultHandlingDbCommand.ExecuteNonQuery() in D:\\a\\1\\s\\src\\Umbraco.Core\\Persistence\\FaultHandling\\RetryDbConnection.cs:line 209\r\n   at NPoco.Database.ExecuteNonQueryHelper(DbCommand cmd)\r\n   at NPoco.Database.NPoco.IDatabaseHelpers.ExecuteNonQueryHelper(DbCommand cmd)\r\n   at NPoco.Database.Execute(String sql, CommandType commandType, Object[] args)\r\nClientConnectionId:19529232-299b-48dc-9e54-ab98ce454cc3\r\nError Number:8152,State:13,Class:16",
      "InstanceId": "17669de1",
      "SourceContext": "Umbraco.Core.Persistence.UmbracoDatabase",
      "ProcessId": 14152,
      "ProcessName": "iisexpress",
      "ThreadId": 37,
      "AppDomainId": 3,
      "AppDomainAppId": "LMW3SVC2ROOT",
      "MachineName": "LOCALHOST",
      "Log4NetLevel": "ERROR",
      "HttpRequestNumber": 15,
      "HttpRequestId": "4e49a05a-7e84-489e-9afa-848cae76c8ab"
    }{
      "@t": "2022-03-02T21:54:52.3521237Z",
      "@mt": "Database configuration failed",
      "@l": "Error",
      "@x": "System.Data.SqlClient.SqlException (0x80131904): String or binary data would be truncated.\r\nThe statement has been terminated.\r\n   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)\r\n   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)\r\n   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)\r\n   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)\r\n   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)\r\n   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)\r\n   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)\r\n   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)\r\n   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()\r\n   at StackExchange.Profiling.Data.ProfiledDbCommand.ExecuteNonQuery() in C:\\projects\\dotnet\\src\\MiniProfiler.Shared\\Data\\ProfiledDbCommand.cs:line 272\r\n   at Umbraco.Core.Persistence.FaultHandling.FaultHandlingDbCommand.<ExecuteNonQuery>b__31_0() in D:\\a\\1\\s\\src\\Umbraco.Core\\Persistence\\FaultHandling\\RetryDbConnection.cs:line 209\r\n   at Umbraco.Core.Persistence.FaultHandling.FaultHandlingDbCommand.<>c__DisplayClass33_0`1.<Execute>b__0() in D:\\a\\1\\s\\src\\Umbraco.Core\\Persistence\\FaultHandling\\RetryDbConnection.cs:line 222\r\n   at Umbraco.Core.Persistence.FaultHandling.RetryPolicy.ExecuteAction[TResult](Func`1 func) in D:\\a\\1\\s\\src\\Umbraco.Core\\Persistence\\FaultHandling\\RetryPolicy.cs:line 172\r\n   at Umbraco.Core.Persistence.FaultHandling.FaultHandlingDbCommand.Execute[T](Func`1 f) in D:\\a\\1\\s\\src\\Umbraco.Core\\Persistence\\FaultHandling\\RetryDbConnection.cs:line 219\r\n   at Umbraco.Core.Persistence.FaultHandling.FaultHandlingDbCommand.ExecuteNonQuery() in D:\\a\\1\\s\\src\\Umbraco.Core\\Persistence\\FaultHandling\\RetryDbConnection.cs:line 209\r\n   at NPoco.Database.ExecuteNonQueryHelper(DbCommand cmd)\r\n   at NPoco.Database.NPoco.IDatabaseHelpers.ExecuteNonQueryHelper(DbCommand cmd)\r\n   at NPoco.Database.Execute(String sql, CommandType commandType, Object[] args)\r\n   at NPoco.Database.Execute(Sql Sql)\r\n   at NPoco.Database.<Update>b__214_0(String sql, Object[] args, Func`2 next)\r\n   at NPoco.Database.UpdateImp[TRet](String tableName, String primaryKeyName, Object poco, Object primaryKeyValue, IEnumerable`1 columns, Func`4 executeFunc, TRet defaultId)\r\n   at NPoco.Database.Update(String tableName, String primaryKeyName, Object poco, Object primaryKeyValue, IEnumerable`1 columns)\r\n   at NPoco.Database.Update(Object poco, Object primaryKeyValue, IEnumerable`1 columns)\r\n   at NPoco.Database.Update(Object poco)\r\n   at Umbraco.Core.Migrations.Upgrade.V_8_0_0.RadioAndCheckboxPropertyEditorsMigration.Migrate(IEnumerable`1 dataTypes, Boolean isMultiple) in D:\\a\\1\\s\\src\\Umbraco.Core\\Migrations\\Upgrade\\V_8_0_0\\RadioAndCheckboxPropertyEditorsMigration.cs:line 72\r\n   at Umbraco.Core.Migrations.Upgrade.V_8_0_0.RadioAndCheckboxPropertyEditorsMigration.Migrate() in D:\\a\\1\\s\\src\\Umbraco.Core\\Migrations\\Upgrade\\V_8_0_0\\RadioAndCheckboxPropertyEditorsMigration.cs:line 21\r\n   at Umbraco.Core.Migrations.MigrationBase.Umbraco.Core.Migrations.IMigration.Migrate() in D:\\a\\1\\s\\src\\Umbraco.Core\\Migrations\\MigrationBase.cs:line 73\r\n   at Umbraco.Core.Migrations.MigrationPlan.Execute(IScope scope, String fromState, IMigrationBuilder migrationBuilder, ILogger logger) in D:\\a\\1\\s\\src\\Umbraco.Core\\Migrations\\MigrationPlan.cs:line 313\r\n   at Umbraco.Core.Migrations.Upgrade.Upgrader.Execute(IScopeProvider scopeProvider, IMigrationBuilder migrationBuilder, IKeyValueService keyValueService, ILogger logger) in D:\\a\\1\\s\\src\\Umbraco.Core\\Migrations\\Upgrade\\Upgrader.cs:line 67\r\n   at Umbraco.Core.Migrations.Install.DatabaseBuilder.UpgradeSchemaAndData(MigrationPlan plan) in D:\\a\\1\\s\\src\\Umbraco.Core\\Migrations\\Install\\DatabaseBuilder.cs:line 505\r\nClientConnectionId:19529232-299b-48dc-9e54-ab98ce454cc3\r\nError Number:8152,State:13,Class:16",
      "SourceContext": "Umbraco.Core.Migrations.Install.DatabaseBuilder",
      "ProcessId": 14152,
      "ProcessName": "iisexpress",
      "ThreadId": 37,
      "AppDomainId": 3,
      "AppDomainAppId": "LMW3SVC2ROOT",
      "MachineName": "LOCALHOST",
      "Log4NetLevel": "ERROR",
      "HttpRequestNumber": 15,
      "HttpRequestId": "4e49a05a-7e84-489e-9afa-848cae76c8ab"
    }{
      "@t": "2022-03-02T21:54:52.3571189Z",
      "@mt": "The database schema validation produced the following summary: {DbSchemaSummary}",
      "DbSchemaSummary": "The following tables were found in the database, but are not in the current schema:\r\ncmsPreviewXml,cmsPropertyData,cmsTask,cmsTaskType,ExternalLogins,UFRecordDataBit,UFRecordDataDateTime,UFRecordDataInteger,UFRecordDataLongString,UFRecordDataString,UFRecordFields,UFRecords,UFUserFormSecurity,UFUserSecurity,umbracoDomains,umbracoMigration,cmsContent,cmsContentVersion,cmsContentXml,cmsDataType,cmsDataTypePreValues,cmsDocument,cmsMedia,umbracoContent,umbracoContentVersion,umbracoMediaVersion,umbracoDocument,umbracoDataType,umbracoDomain,umbracoPropertyData,cmsContentNu,umbracoDocumentVersion,umbracoKeyValue,umbracoContentVersionCultureVariation,umbracoDocumentCultureVariation,umbracoContentSchedule\r\n \r\nThe following columns were found in the database, but are not in the current schema:\r\ncmsPreviewXml,nodeId,cmsPreviewXml,versionId,cmsPreviewXml,timestamp,cmsPreviewXml,xml,cmsPropertyData,id,cmsPropertyData,contentNodeId,cmsPropertyData,versionId,cmsPropertyData,propertytypeid,cmsPropertyData,dataInt,cmsPropertyData,dataDate,cmsPropertyData,dataNvarchar,cmsPropertyData,dataNtext,cmsPropertyData,dataDecimal,cmsTags,ParentId,cmsTask,closed,cmsTask,id,cmsTask,taskTypeId,cmsTask,nodeId,cmsTask,parentUserId,cmsTask,userId,cmsTask,DateTime,cmsTask,Comment,cmsTaskType,id,cmsTaskType,alias,cmsTemplate,design,ExternalLogins,ExternalLoginId,ExternalLogins,UserId,ExternalLogins,LoginProvider,ExternalLogins,ProviderKey,UFRecordDataBit,Id,UFRecordDataBit,Key,UFRecordDataBit,Value,UFRecordDataDateTime,Id,UFRecordDataDateTime,Key,UFRecordDataDateTime,Value,UFRecordDataInteger,Id,UFRecordDataInteger,Key,UFRecordDataInteger,Value,UFRecordDataLongString,Id,UFRecordDataLongString,Key,UFRecordDataLongString,Value,UFRecordDataString,Id,UFRecordDataString,Key,UFRecordDataString,Value,UFRecordFields,Key,UFRecordFields,FieldId,UFRecordFields,Record,UFRecordFields,Alias,UFRecordFields,DataType,UFRecords,Id,UFRecords,Form,UFRecords,Created,UFRecords,Updated,UFRecords,CurrentPage,UFRecords,UmbracoPageId,UFRecords,IP,UFRecords,MemberKey,UFRecords,UniqueId,UFRecords,State,UFRecords,RecordData,UFUserFormSecurity,Id,UFUserFormSecurity,User,UFUserFormSecurity,Form,UFUserFormSecurity,HasAccess,UFUserFormSecurity,AllowInEditor,UFUserFormSecurity,SecurityType,UFUserSecurity,User,UFUserSecurity,ManageDataSources,UFUserSecurity,ManagePreValueSources,UFUserSecurity,ManageWorkflows,UFUserSecurity,ManageForms,umbracoDomains,id,umbracoDomains,domainDefaultLanguage,umbracoDomains,domainRootStructureID,umbracoDomains,domainName,umbracoMigration,id,umbracoMigration,name,umbracoMigration,version,umbracoMigration,createDate,cmsContent,pk,cmsContent,nodeId,cmsContent,contentType,cmsContentVersion,id,cmsContentVersion,ContentId,cmsContentVersion,VersionId,cmsContentVersion,VersionDate,cmsContentXml,nodeId,cmsContentXml,xml,cmsDataType,pk,cmsDataType,nodeId,cmsDataType,propertyEditorAlias,cmsDataType,dbType,cmsDataTypePreValues,id,cmsDataTypePreValues,datatypeNodeId,cmsDataTypePreValues,value,cmsDataTypePreValues,sortorder,cmsDataTypePreValues,alias,cmsDocument,nodeId,cmsDocument,published,cmsDocument,documentUser,cmsDocument,versionId,cmsDocument,text,cmsDocument,releaseDate,cmsDocument,expireDate,cmsDocument,updateDate,cmsDocument,templateId,cmsDocument,newest,cmsMacro,macroScriptType,cmsMacro,macroScriptAssembly,cmsMacro,macroXSLT,cmsMacro,macroPython,cmsMedia,nodeId,cmsMedia,versionId,cmsMedia,mediaPath,cmsContentType,isElement,cmsContentType,variations,umbracoContent,nodeId,umbracoContent,contentTypeId,umbracoContentVersion,id,umbracoContentVersion,nodeId,umbracoContentVersion,versionDate,umbracoContentVersion,userId,umbracoContentVersion,current,umbracoContentVersion,text,umbracoMediaVersion,id,umbracoMediaVersion,path,umbracoDocument,nodeId,umbracoDocument,published,umbracoDocument,edited,umbracoDataType,nodeId,umbracoDataType,propertyEditorAlias,umbracoDataType,dbType,umbracoDataType,config,umbracoLanguage,isDefaultVariantLang,umbracoLanguage,mandatory,umbracoLanguage,fallbackLanguageId,umbracoDomain,id,umbracoDomain,domainDefaultLanguage,umbracoDomain,domainRootStructureID,umbracoDomain,domainName,umbracoLog,entityType,umbracoLog,parameters,cmsMacro,macroSource,cmsMacro,macroType,cmsPropertyTypeGroup,type,cmsPropertyTypeGroup,alias,cmsPropertyType,mandatoryMessage,cmsPropertyType,validationRegExpMessage,cmsPropertyType,labelOnTop,cmsPropertyType,variations,umbracoPropertyData,id,umbracoPropertyData,versionId,umbracoPropertyData,propertyTypeId,umbracoPropertyData,languageId,umbracoPropertyData,segment,umbracoPropertyData,intValue,umbracoPropertyData,decimalValue,umbracoPropertyData,dateValue,umbracoPropertyData,varcharValue,umbracoPropertyData,textValue,cmsTags,languageId,umbracoExternalLogin,userData,umbracoRedirectUrl,culture,cmsContentNu,nodeId,cmsContentNu,published,cmsContentNu,data,cmsContentNu,rv,cmsContentNu,dataRaw,umbracoDocumentVersion,id,umbracoDocumentVersion,templateId,umbracoDocumentVersion,published,umbracoKeyValue,key,umbracoKeyValue,value,umbracoKeyValue,updated,umbracoContentVersionCultureVariation,id,umbracoContentVersionCultureVariation,versionId,umbracoContentVersionCultureVariation,languageId,umbracoContentVersionCultureVariation,name,umbracoContentVersionCultureVariation,date,umbracoContentVersionCultureVariation,availableUserId,umbracoDocumentCultureVariation,id,umbracoDocumentCultureVariation,nodeId,umbracoDocumentCultureVariation,languageId,umbracoDocumentCultureVariation,edited,umbracoDocumentCultureVariation,available,umbracoDocumentCultureVariation,published,umbracoDocumentCultureVariation,name,umbracoContentSchedule,id,umbracoContentSchedule,nodeId,umbracoContentSchedule,languageId,umbracoContentSchedule,date,umbracoContentSchedule,action\r\n \r\nThe following constraints (Primary Keys, Foreign Keys and Indexes) were found in the database, but are not in the current schema:\r\nFK_cmsContent_cmsContentType_nodeId,FK_cmsContent_umbracoNode_id,FK_cmsContentVersion_cmsContent_nodeId,FK_cmsContentXml_cmsContent_nodeId,FK_cmsDataType_umbracoNode_id,FK_cmsDataTypePreValues_cmsDataType_nodeId,FK_cmsDocument_cmsContent_nodeId,FK_cmsDocument_cmsTemplate_nodeId,FK_cmsDocument_umbracoNode_id,FK_cmsMedia_cmsContent_nodeId,FK_cmsMedia_umbracoNode_id,FK_cmsMember_cmsContent_nodeId,FK_cmsMember_umbracoNode_id,FK_cmsPreviewXml_cmsContent_nodeId,FK_cmsPreviewXml_cmsContentVersion_VersionId,FK_cmsPropertyData_cmsPropertyType_id,FK_cmsPropertyData_umbracoNode_id,FK_cmsPropertyType_cmsDataType_nodeId,FK_cmsTags_cmsTags,FK_cmsTask_cmsTaskType_id,FK_cmsTask_umbracoNode_id,FK_cmsTask_umbracoUser,FK_cmsTask_umbracoUser1,FK_UFRecordDataBit_UFRecordFields_Key,FK_UFRecordDataDateTime_UFRecordFields_Key,FK_UFRecordDataInteger_UFRecordFields_Key,FK_UFRecordDataLongString_UFRecordFields_Key,FK_UFRecordDataString_UFRecordFields_Key,FK_umbracoDomains_umbracoNode_id,FK_umbracoExternalLogin_umbracoUser_id,FK_umbracoRedirectUrl,FK_umbracoNode_umbracoUser_id,FK_umbracoContent_umbracoNode_id,FK_umbracoContent_cmsContentType_NodeId,FK_umbracoContentVersion_umbracoContent_nodeId,FK_umbracoContentVersion_umbracoUser_id,FK_umbracoMediaVersion_umbracoContentVersion_id,FK_umbracoDocument_umbracoContent_nodeId,FK_umbracoDataType_umbracoNode_id,FK_umbracoLanguage_umbracoLanguage_id,FK_umbracoDomain_umbracoNode_id,FK_umbracoLog_umbracoUser_id,FK_cmsMember_umbracoContent_nodeId,FK_cmsPropertyType_umbracoDataType_nodeId,FK_umbracoPropertyData_umbracoContentVersion_id,FK_umbracoPropertyData_cmsPropertyType_id,FK_umbracoPropertyData_umbracoLanguage_id,FK_cmsTags_umbracoLanguage_id,FK_umbracoRedirectUrl_umbracoNode_uniqueID,FK_cmsContentNu_umbracoContent_nodeId,FK_umbracoDocumentVersion_umbracoContentVersion_id,FK_umbracoDocumentVersion_cmsTemplate_nodeId,FK_umbracoContentVersionCultureVariation_umbracoContentVersion_id,FK_umbracoContentVersionCultureVariation_umbracoLanguage_id,FK_umbracoContentVersionCultureVariation_umbracoUser_id,FK_umbracoDocumentCultureVariation_umbracoNode_id,FK_umbracoDocumentCultureVariation_umbracoLanguage_id,FK_umbracoContentSchedule_umbracoContent_nodeId,FK_umbracoContentSchedule_umbracoLanguage_id,PK_cmsContent,PK_cmsContentPreviewXml,PK_cmsContentVersion,PK_cmsContentXml,PK_cmsDataType,PK_cmsDataTypePreValues,PK_cmsDocument,PK_cmsMedia,PK_cmsPropertyData,PK_cmsTask,PK_cmsTaskType,PK_ExternalLoginId,PK_structure,PK_UFRecordDataBit,PK_UFRecordDataDateTime,PK_UFRecordDataInteger,PK_UFRecordDataLongString,PK_UFRecordDataString,PK_UFRecordFields,PK_UFRecords,PK_umbracoDomains,PK_umbracoMigrations,PK_umbracoNode,PK_umbracoContent,PK_umbracoContentVersion,PK_umbracoMediaVersion,PK_umbracoDocument,PK_umbracoDataType,PK_umbracoDomain,PK_umbracoPropertyData,PK_cmsContentNu,PK_umbracoDocumentVersion,PK_umbracoKeyValue,PK_umbracoContentVersionCultureVariation,PK_umbracoDocumentCultureVariation,PK_umbracoContentSchedule\r\n \r\nThe following indexes were found in the database, but are not in the current schema:\r\nIX_cmsContent,IX_cmsContentVersion_ContentId,IX_cmsContentVersion_VersionId,IX_cmsDataType_nodeId,IX_cmsDocument,IX_cmsDocument_newest,IX_cmsDocument_published,IX_cmsMedia,IX_cmsPropertyData_1,IX_cmsPropertyData_2,IX_cmsPropertyData_3,IX_cmsTaskType_alias,IX_databit_recordfield,IX_datadatetime_recordfield,IX_datainteger_recordfield,IX_datalongstring_recordfield,IX_datastring_recordfield,IX_umbracoMigration,IX_umbracoNodeObjectType,IX_umbracoNodeParentId,IX_umbracoNodePath,IX_umbracoNodeTrashed,IX_umbracoNode_ParentId,IX_umbracoNode_Level,IX_umbracoNode_Path,IX_umbracoNode_Trashed,IX_umbracoNode_ObjectType,IX_umbracoContentVersion_NodeId,IX_umbracoContentVersion_Current,IX_umbracoMediaVersion,IX_umbracoDocument_Published,IX_cmsDictionary_Parent,IX_umbracoLanguage_fallbackLanguageId,IX_umbracoPropertyData_VersionId,IX_umbracoPropertyData_PropertyTypeId,IX_umbracoPropertyData_LanguageId,IX_umbracoPropertyData_Segment,IX_cmsTags_LanguageId,IX_umbracoUserLogin_lastValidatedUtc,IX_umbracoContentVersionCultureVariation_VersionId,IX_umbracoContentVersionCultureVariation_LanguageId,IX_umbracoDocumentCultureVariation_NodeId,IX_umbracoDocumentCultureVariation_LanguageId\r\n \r\nThe following unknown constraints (Primary Keys, Foreign Keys and Indexes) were found in the database, but are not in the current schema:\r\nId\r\n \r\n",
      "SourceContext": "Umbraco.Core.Migrations.Install.DatabaseBuilder",
      "ProcessId": 14152,
      "ProcessName": "iisexpress",
      "ThreadId": 37,
      "AppDomainId": 3,
      "AppDomainAppId": "LMW3SVC2ROOT",
      "MachineName": "LOCALHOST",
      "Log4NetLevel": "INFO ",
      "HttpRequestNumber": 15,
      "HttpRequestId": "4e49a05a-7e84-489e-9afa-848cae76c8ab"
    }
    

    We are only managing to upgrade after removing some content with no apparent difference between content that fails and content that upgrades successfully.

    I have asked the question about how to get out the content of v8 database to compare but no reply so far.

    We also checked the longest content and this one doe snot error upon upgrading so it is not the content itself that fails, rather a peroperty data or so.

    2. We noticed that the content that use some nested content property, after upgrading and trying to access this type of content via CMS - the content page throws an error:

    System.ArgumentNullException: Value cannot be null. Parameter name: key

    enter image description here

    If - before upgrade - we republish this content (only from within - republishing from the list view does not change anything), then the content displays correctly in the CMS after the upgrade.

    It must be some type of issue with non-compatibility between 7 and 8 version in reading the nested content or - we noticed - v8 of the Nested content data type has additional properties. For example we noticed in v8 Nested content has additional boolean property IsElementType

    3. In some cases (after some upgrade tries) ther Nested content comes empty in v8 and is not editable:

    Empty nested content

    and in some the same NC is correct:

    Correctly upgraded NC property

    The only difference is that in the first case some content (unrelated to the one that have Nested content) was deleted before the upgrade.

  • nickornotto 397 posts 900 karma points
    Aug 18, 2022 @ 05:33
    nickornotto
    0

    Just to follow up - I found the issue and I reported it here: https://github.com/umbraco/Umbraco-CMS/issues/12284

    In short - the umbracoPropertyData table in v8+ has a column varcharValue that is shorter than the equivalent column in v7-

    And for longer data values it will try to truncate it on upgrade.

    Since the radio/checkbox have no length limit - it is a potential issue also on a fresh v8+ installation.

  • Mitch 42 posts 157 karma points
    Jul 02, 2023 @ 17:56
    Mitch
    0

    Did you find a solution to the nested content issue?

  • nickornotto 397 posts 900 karma points
    Jul 03, 2023 @ 02:36
    nickornotto
    0

    As far as I remember the nested content issue was because I was missing keys on them. Originally v7 didn't have keys on NC so I had to update/ resave all my NC properties so they resaved with keys, eg. newer schema and then they upgraded with no problem.

  • Warren Harding 132 posts 275 karma points
    Jul 19, 2022 @ 03:51
    Warren Harding
    0

    Hi there, can I ask what version of 8 you are attempting to update too? I'm also struggling to get this to work - 8.0.5 seems to run but it is then locking up the database

  • nickornotto 397 posts 900 karma points
    Jul 19, 2022 @ 07:26
    nickornotto
    0

    Can you elaborater what do you mean "locking up the database"? What error do you get specifically? Is it on upgrading or after the database upgrade?

    I upgraded from 7.15.3 to 8.17.1 Many lower 8 version did not work for and were causing various problems.

    You need to do many preparation work of course depending how old is your Umbfraco solution, eg. convert pickers and install ProWorks migration package as per 7 > 8 instructions.

  • Warren Harding 132 posts 275 karma points
    Jul 19, 2022 @ 11:14
    Warren Harding
    0

    Sorry I should have said version 8.1.5 above there I initially tried 8.17.1 actually but it failed with missing columns

    Just for some background, this database I'm trying to upgrade is 400mb, not huge - it's running 7.15.7 and no depricated pickers

    It's getting as far as

    {"@t":"2022-07-19T01:44:58.2430752Z","@mt":"SQL [{ContextIndex}]: {Sql}","ContextIndex":3469,"Sql":"ALTER TABLE [cmsPropertyData] DROP COLUMN [dataInt];","SourceContext":"Umbraco.Core.Migrations.Expressions.Delete.Expressions.DeleteColumnExpression","ProcessId":10548,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":4,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DESKTOP-T29DRHP","Log4NetLevel":"INFO ","HttpRequestNumber":7,"HttpRequestId":"baa786fc-270a-4c5e-a1a9-b1e3613f6d36"}
    {"@t":"2022-07-19T01:44:58.2867409Z","@mt":"SQL [{ContextIndex}]: {Sql}","ContextIndex":3470,"Sql":"ALTER TABLE [cmsPropertyData] ADD [dateValue] DATETIME NULL    ","SourceContext":"Umbraco.Core.Migrations.Expressions.Execute.Expressions.ExecuteSqlStatementExpression","ProcessId":10548,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":4,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DESKTOP-T29DRHP","Log4NetLevel":"INFO ","HttpRequestNumber":7,"HttpRequestId":"baa786fc-270a-4c5e-a1a9-b1e3613f6d36"}
    {"@t":"2022-07-19T01:44:58.2897205Z","@mt":"SQL [{ContextIndex}]: {Sql}","ContextIndex":3471,"Sql":"UPDATE [cmsPropertyData] SET [dateValue]=[dataDate]","SourceContext":"Umbraco.Core.Migrations.Expressions.Execute.Expressions.ExecuteSqlStatementExpression","ProcessId":10548,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":4,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DESKTOP-T29DRHP","Log4NetLevel":"INFO ","HttpRequestNumber":7,"HttpRequestId":"baa786fc-270a-4c5e-a1a9-b1e3613f6d36"}
    {"@t":"2022-07-19T01:45:01.2327427Z","@mt":"SQL [{ContextIndex}]: {Sql}","ContextIndex":3472,"Sql":"ALTER TABLE [cmsPropertyData] DROP COLUMN [dataDate];","SourceContext":"Umbraco.Core.Migrations.Expressions.Delete.Expressions.DeleteColumnExpression","ProcessId":10548,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":4,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DESKTOP-T29DRHP","Log4NetLevel":"INFO ","HttpRequestNumber":7,"HttpRequestId":"baa786fc-270a-4c5e-a1a9-b1e3613f6d36"}
    {"@t":"2022-07-19T01:45:01.2574424Z","@mt":"SQL [{ContextIndex}]: <empty>","ContextIndex":3473,"SourceContext":"Umbraco.Core.Migrations.Expressions.Alter.Expressions.AlterTableExpression","ProcessId":10548,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":4,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DESKTOP-T29DRHP","Log4NetLevel":"INFO ","HttpRequestNumber":7,"HttpRequestId":"baa786fc-270a-4c5e-a1a9-b1e3613f6d36"}
    {"@t":"2022-07-19T01:45:01.2574424Z","@mt":"SQL [{ContextIndex}]: {Sql}","ContextIndex":3474,"Sql":"ALTER TABLE [cmsPropertyData] ADD [versionId2] INTEGER NULL","SourceContext":"Umbraco.Core.Migrations.Expressions.Common.Expressions.CreateColumnExpression","ProcessId":10548,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":4,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DESKTOP-T29DRHP","Log4NetLevel":"INFO ","HttpRequestNumber":7,"HttpRequestId":"baa786fc-270a-4c5e-a1a9-b1e3613f6d36"}
    

    And sits there for 3 hours with nothing else happening - no further logs and no timeout on the front end

    I was referring to this doc (https://our.umbraco.com/documentation/Fundamentals/Setup/Upgrading/migrating-to-v8) but didn't see anything about ProWorks - would you mind elaborating on that please?

  • Warren Harding 132 posts 275 karma points
    Jul 19, 2022 @ 11:48
  • Warren Harding 132 posts 275 karma points
    Jul 20, 2022 @ 00:43
    Warren Harding
    2

    It turns out that the issue found here was the main cause

    https://github.com/umbraco/Umbraco-CMS/issues/6146

    Specifically, running this query

    SELECT * FROM umbracoNode WHERE nodeObjectType = '39eb0f98-b348-42a1-8662-e7eb18487560' AND (text IS NULL OR text = '')
    

    and then removing these members from Umbraco allowed the update to complete

  • Nick Hoang 51 posts 180 karma points
    Jul 03, 2023 @ 02:15
    Nick Hoang
    0

    I followed another solution to upgrade from v7 to v9 directly by using this package: https://our.umbraco.com/packages/backoffice-extensions/converge/

    This package helps you to migrate all content types, data types, medias, notes, templates,... but you still need to update your code base and this is the most complex part.

    Hope it help.

    Cheers

  • jphai 1 post 71 karma points
    23 days ago
    jphai
    0

    Hey nick! Pretty late to the party, but any advice migrating from id to udi in the Umbraco pickers?

    Im trying to do from 7.4 to 13 migration, where I got the database updated, but not the pickers for some reason. I used Proworks guide.

  • ewuski 89 posts 235 karma points
    23 days ago
    ewuski
    0

    Write your own migration script (risky and thorough) or update pickers in v7 using proworks package and update to v8 first.

    Also, best to upgrade to latest v7 first ;)

Please Sign in or register to post replies

Write your reply to:

Draft