Upgrade 7.0.26 to 8 with Upgrade Tool

Param G asked on March 7, 2018 06:36

Hi Team, We are trying to upgrade one of our website to the latest version of Kentico.

To begin with we have tried Upgrading Kentico 7.0.26 to 8 using the Upgrade tool and manually. But we were facing issues in either ways.

  1. when we try to upgrade using the Upgrade Tool the application structure gets created but getting some sql script issues(Failed to run SQLscript 'Index name' is dependent on 'column name') related to Index and collation.

Please find the below issues:

ALTER TABLE ALTER COLUMN LicenseDomain failed because one or more objects access this column.Message: The index 'IX_CMS_LicenseKey_LicenseDomain' is dependent on column 'LicenseDomain'.

ALTER TABLE ALTER COLUMN LibraryName failed because one or more objects access this         column.Message: The index 'IX_Media_Library_LibrarySiteID_LibraryName_LibraryGUID' is dependent on column 'LibraryName'.

ALTER TABLE ALTER COLUMN ReportName failed because one or more objects access this column.Message: The index 'IX_Reporting_Report_ReportGUID_ReportName' is dependent on column 'ReportName'.

Cannot resolve collation conflict for column 3 in SELECT statement.Message: Cannot resolve collation conflict for column 2 in SELECT statement.

Cannot resolve the collation conflict between "Latin1_General_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.Message: Cannot resolve the collation conflict between "Latin1_General_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.

2.While trying manually we are encountering many reference issues in the application.

Please help us overcome these issues.

Thanks in advance!

- Param

Recent Answers


Trevor Fayas answered on March 7, 2018 14:10

Looks like one or more of your tables had a collation that isn't supported by Kentico, you should use latin1_general_ci_as for all tables.

Look here and run an alter table on the problem tables to get them back in line.

https://stackoverflow.com/questions/1607560/cannot-resolve-the-collation-conflict-between-sql-latin1-general-cp1-ci-as-and

1 votesVote for this answer Mark as a Correct answer

Trevor Fayas answered on March 7, 2018 14:13

As for the other ones, you may need to remove those foreign key constraints or indexes to proceed, someone may have added them or they existed from an be older version.

You can do this easily in SQL management studio or see below on the SQL syntax

https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-index-transact-sql

1 votesVote for this answer Mark as a Correct answer

Param G answered on March 15, 2018 07:03 (last edited on March 15, 2018 07:05)

Thank you Trevor for your timely reply. We were able to resolve the above specified issue by Altering the Collation, removing the foreign key constraints and were able to upgrade from kentico 7.0.26 to 8.0 using the tool.

After completion as instructed by the kentico upgrade instructions we have compared the original files with the .new files and merged the custom changes/replaced the new files with the existing files accordingly (Please find the attached screenshot below)

But while building the new project(after upgrade), we are getting issues related to dll reference like the following: 1. 'EcommerceFunctions' does not contain a definition for 'GetProductImage' 2. Element 'CMSEditModeButtonEditDelete' is not a known element 3. The type 'Global' is defined in an assembly that is not referenced. You must add a reference to assembly 'App_Code.3qahivsw, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'. 4. The name 'GetAttachmentIconUrl' does not exist in the current context.

These issues occurs in multiple files in the solution. like - \CMS\CMSVirtualFiles\Transformations\CMS.Root\AttachmentLightboxDetail.ascx. \CMS\CMSVirtualFiles\Transformations\CMS.Root\AttachmentCarousel2D.ascx

Tried referring the the API changes - https://devnet.kentico.com/documentation/api-changes/kentico-8 to fix the build errors , fixed few but still not able to compile the solution without errors.

Is there a reason why is the Kentcio upgrade tool not replacing the API realated changes to the upgraded solution or Are we missing any steps?

Can you please provide your suggestion on this ?

Thanks in advance.

Image Text

0 votesVote for this answer Mark as a Correct answer

Trevor Fayas answered on March 15, 2018 13:27

It does happen sometimes where a dll is missed, what I would do is install a fresh Kentico 8.0 and then replace the bin folder of your upgraded one with the one from a fresh install, and use diffnow.com and compare your web.config to see if there is anything you need to update.

Lastly after that if you still get errors on specific tools, look to replace them with the fresh install.

The other option is once you run the site one time do the post upgrade scripts finish, you can look to just use the fresh install as your files and copy over any custom code, JavaScript, and media files from current instance to the fresh 8, and just point the connection string in there new 8 to your database.

0 votesVote for this answer Mark as a Correct answer

Trevor Fayas answered on March 15, 2018 13:31

Oh and one more thing, these errors were in the virtual files, if you forgot to turn off the virtual files before upgrade, then your transformation and items in the virtual files won't be upgraded, it's a step in the upgrade instructive that people often miss. You may need to again use a fresh install and turn it's virtual files on and try to replace the erroneous transformations.

0 votesVote for this answer Mark as a Correct answer

   Please, sign in to be able to submit a new answer.