Update Error

Im getting this error after updating from 8.2.1 to 8.5.4
concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php
You can see the complete error here: https://lizartindale.co.uk/
Have tried changing PHP to other versions with no change.
Have checked database using the wizard in CPanel and all OK.
How to Upgrade Concrete CMS says “Concrete will run required database migration” but I’m guessing this hasn’t happened for some reason?

Have performed same upgrade method on other sites and it has worked successfully.

Hi

It can be that the “Pages” table was on error before for some reason.

The actual structure on 9.2.1 is

CREATE TABLE `Pages` (
 `cID` int(10) unsigned NOT NULL DEFAULT 0,
 `siteTreeID` int(10) unsigned DEFAULT 0,
 `ptID` int(10) unsigned NOT NULL DEFAULT 0,
 `cIsTemplate` tinyint(1) NOT NULL DEFAULT 0,
 `uID` int(10) unsigned DEFAULT NULL,
 `cIsCheckedOut` tinyint(1) NOT NULL DEFAULT 0,
 `cCheckedOutUID` int(10) unsigned DEFAULT NULL,
 `cCheckedOutDatetime` datetime DEFAULT NULL,
 `cCheckedOutDatetimeLastEdit` datetime DEFAULT NULL,
 `cOverrideTemplatePermissions` tinyint(1) NOT NULL DEFAULT 1,
 `cInheritPermissionsFromCID` int(10) unsigned NOT NULL DEFAULT 0,
 `cInheritPermissionsFrom` varchar(8) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'PARENT',
 `cFilename` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
 `cPointerID` int(10) unsigned NOT NULL DEFAULT 0,
 `cPointerExternalLink` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
 `cPointerExternalLinkNewWindow` tinyint(1) NOT NULL DEFAULT 0,
 `cIsActive` tinyint(1) NOT NULL DEFAULT 1,
 `cChildren` int(10) unsigned NOT NULL DEFAULT 0,
 `cDisplayOrder` int(10) unsigned NOT NULL DEFAULT 0,
 `cParentID` int(10) unsigned NOT NULL DEFAULT 0,
 `pkgID` int(10) unsigned NOT NULL DEFAULT 0,
 `cDraftTargetParentPageID` int(10) unsigned NOT NULL DEFAULT 0,
 `cIsDraft` tinyint(1) NOT NULL DEFAULT 0,
 `cCacheFullPageContent` smallint(6) NOT NULL DEFAULT -1,
 `cCacheFullPageContentOverrideLifetime` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0',
 `cCacheFullPageContentLifetimeCustom` int(10) unsigned NOT NULL DEFAULT 0,
 `cIsSystemPage` tinyint(1) NOT NULL DEFAULT 0,
 PRIMARY KEY (`cID`,`ptID`),
 KEY `cParentID` (`cParentID`),
 KEY `siteTreeID` (`siteTreeID`),
 KEY `cIsActive` (`cID`,`cIsActive`),
 KEY `cCheckedOutUID` (`cCheckedOutUID`),
 KEY `uID` (`uID`,`cPointerID`),
 KEY `cPointerID` (`cPointerID`,`cDisplayOrder`),
 KEY `cIsTemplate` (`cID`,`cIsTemplate`),
 KEY `cIsSystemPage` (`cID`,`cIsSystemPage`),
 KEY `pkgID` (`pkgID`),
 KEY `cParentMaxDisplay` (`cParentID`,`cDisplayOrder`),
 KEY `idxPageList` (`cIsTemplate`,`cIsActive`,`siteTreeID`,`cIsSystemPage`,`cPointerID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

Not the correct solution, but you can try to create manually the missing column with this parameters

`siteTreeID` int(10) unsigned DEFAULT 0,

and this index

KEY `siteTreeID` (`siteTreeID`),

And see if it helps… but you can have errors on other places and as i said before, not the correct solution, just to see if it works.

JL

I’ve run into this a few times, I posted my solution here - Broken upgrade

You will have to have SSH access to the site to do this though.

Unfortunately my hosting does not allow SSH.
I can try the table adjust method but can you walk me through how you do this using PHPmyAdmin as only ever looked at tables never added or adjusted anything. Im sure i can do it with guidance.
Thanks everyone!