Nov 30, 2012
visibility 5609
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
Exploring Asset Lifecycle Management Approaches for Bynder and Optimizely SaaS CMS

Note: This is Part 3 of our Bynder integration series. For setup and filtering prerequisites, see Part 1  and  Part 2 . Introduction In my previous...

Vipin Banka | Jul 5, 2026

Unlock AI-Ready Experiences with Optimizely

Over the past few months, almost every customer conversation has shifted from SEO to AI readiness. The questions are no longer just: “How do we......

Madhu | Jul 5, 2026 |

Planning Your Bynder DAM and Optimizely SaaS CMS Integration the Right Way: Avoiding Asset Sprawl and Unnecessary Synchronization

Note: This is Part 2 of our Bynder integration series. If you missed the Part 1, check out " Implementing the Bynder DAM Connector with Optimizely...

Vipin Banka | Jul 4, 2026

Implementing the Bynder DAM Connector with Optimizely SaaS CMS: Lessons Learned

What I learned while integrating Bynder DAM with Optimizely SaaS CMS, exploring Optimizely Graph, and building a headless frontend experience....

Vipin Banka | Jul 3, 2026

Optimizely London developer meetup 2026: a round up

Well, what can I say? Last night we wrapped up! Yet another London Developer Meetup, hosted at the superb Lightwell venue And this is also a...

Scott Reed | Jul 3, 2026

AvantiBit Custom Settings for Optimizely CMS

AvantiBit Custom Settings is a free, Apache-2.0 Optimizely CMS add-on for typed, site- and language-aware configuration that stays out of content...

Enes Bajramovic | Jul 3, 2026 |