Nov 30, 2012
visibility 5678
star star star star star
(3 votes)

An alter table database error can occur when upgrading from CMS6 to CMS7.

I recently tried to update a customers website from CMS6 R2 to CMS7 and got an error. The error is a database error and the reason is that my root page id <> 1. This customer had root id = 5.

This is the error message:

An unhandled error has occured:
The ALTER TABLE statement conflicted with the FOREIGN KEY SAME TABLE constraint
 "FK_tblContent_tblContent". The conflict occurred in database "dbForskningspar
kenUpgrade", table "dbo.tblContent", column 'pkID'.
When executing
At C:\Program Files (x86)\EPiServer\CMS\7.0.586.1\Upgrade\System Scripts\Upgrad
e Site Database (SqlServer).ps1:9 char:25
+       Execute-EPiSqlSvrScript <<<<  -EPiServerScript -ScriptPath $file 
-SqlServerName $dbConnection.DataSource -DatabaseName $dbConnection.InitialCatalog
-LoginName $dbConnection.UserID -LoginPassword $dbConnection.Password

A god thing, it’s easy to do a workaround:

* Open  this script :
"C:\Program Files\EPiServer\CMS\7.0.586.1Upgrade\Database\sql\ 0007_0000_0147_0000to0007_0000_0361_0000.sql".

* Find this insert:

INSERT INTO tblContent (fkContentTypeID,fkParentID,ArchiveContentGUID, CreatorName,
ContentGUID,VisibleInMenu,Deleted,PendingPublish,ChildOrderRule,PeerOrder,
ExternalFolderID,fkMasterLanguageBranchID,ContentPath,ContentType) VALUES (
@fkContentTypeId,--fkContentTypeID
1,--fkParentID

* Change the 1 to your root page id, in my case 5.

* Rerun the update from CMS6 to CMS7 in Deployment Center. Worked like a charm, except for the compilation error, but that’s another story.

Nov 30, 2012

Comments

Goran Solomonovic
Goran Solomonovic Feb 27, 2013 11:43 AM

Thanks! My root page id is not 1 either... :)

May 16, 2013 08:02 AM

And even more important, remember to set the value back to 1. If you forget, the next "normal" upgrade will fail..... (like it did today).

error Please login to comment.
Latest blogs
Copies vs. Connections: Modeling Content Areas for Multilingual Success

Starting With the Simple Question Most multilingual content modeling conversations start with a deceptively simple question from a client: "If we s...

Vipin Banka | Aug 23, 2026

Content Transfer coming to Optimizely SaaS CMS

Back in June I released Content Transfer on the Optimizely nuget feed – today I’m releasing version 1.0 , because we’ve had it running out in the...

Matt Pallatt | Aug 23, 2026

Improving Optimizely Product Information in LLM Tools

Tools like Claude Code can be great for working with Optimizely CMS, but when they index outdated or incomplete information about developing a...

Nicholas Sideras | Aug 21, 2026 |

How to Get a Bacpac Out of DXP (And Never Do It By Hand Again)

Every Optimizely DXP project eventually runs into the same task: getting production data onto a local machine so you can actually troubleshoot...

KennyG | Aug 20, 2026