Nov 30, 2012
  5335
(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).

Please login to comment.
Latest blogs
Optimizely CMS 13: Why Search & Navigation Now Means Graph Migration

Optimizely CMS 13 makes Graph a required part of the platform. Here is what that means in practice for teams moving from Search & Navigation, with ...

Wojciech Seweryn | Apr 8, 2026 |

Jhoose Security Module V3.0.0 – Site-Level Security Configuration for Optimizely

Jhoose Security Module updated for Optimizely CMS 13, introducing separate packages for CMS 12 and 13 with ongoing support and enhancements.

Andrew Markham | Apr 6, 2026 |

Searchable settings page

In my current project which has been actively developed for quite some time we have a big classic settings page. Unfortunately the placement and...

Per Nergård (MVP) | Apr 6, 2026

Using Azure Devops Pipelines in Optimizely SAAS (Configured) Commerce

Introduction When working with SAAS Commerce build service v2 your currently need to use a github repo with configured branches to start deployment...

Mark Hall | Apr 4, 2026 |