Updating from 5.5.2.1 mysqlt error: [1054: Unknown column

Permalink
I have been trying to update this site for some time but was always unsuccessful.
So when I run update, I get the following error message: (sorry for the first sentence in german, it just says "An unexpected error occurred during update")
Ein unerwarteter Fehler ist währen des Upgrade aufgetreten: #0 /homepages/33/d123123123/htdocs/www.my-website/updates/concrete5.6.3.2/concrete/libraries/3rdparty/adodb/adodb.inc.php(641): adodb_throw('mysqlt', 'DOQUOTE', -9999, 'Numeric field t...', '', false, Object(ADODB_mysqlt)) #1 /homepages/33/d123123123/htdocs/www.my-website/updates/concrete5.6.3.2/concrete/core/libraries/model.php(44): ADOConnection->outp_throw('Numeric field t...', 'DOQUOTE') #2 /homepages/33/d123123123/htdocs/www.my-website/updates/concrete5.6.3.2/concrete/libraries/3rdparty/adodb/adodb-active-record.inc.php(845): Concrete5_Library_Model->doquote(Object(ADODB_mysqlt), true, 'I') #3 /homepages/33/d123123123/htdocs/www.my-website/updates/concrete5.6.3.2/concrete/core/models/block_types.php(763): ADODB_Active_Record->Replace() #4 /homepages/33/d123123123/htdocs/www.my-website/updates/concrete5.6.3.2/concrete/core/models/block_types.php(671): Concrete5_Model_BlockType->doInstallBlockType('core_scrapbook_...', Object(BlockType), '/homepages/33/d...', '34', '/homepages/33/d...') #5 /homepages/33/d123123123/htdocs/www.my-website/updates/concrete5.6.3.2/concrete/core/models/block_types.php(632): Concrete5_Model_BlockType->installBlockType('core_scrapbook_...', '34') #6 /homepages/33/d123123123/htdocs/www.my-website/updates/concrete5.6.3.2/concrete/helpers/concrete/upgrade/version_560.php(102): Concrete5_Model_BlockType->refresh() #7 /homepages/33/d123123123/htdocs/www.my-website/updates/concrete5.6.3.2/concrete/core/controllers/single_pages/upgrade.php(272): ConcreteUpgradeVersion560Helper->run() #8 /homepages/33/d123123123/htdocs/www.my-website/updates/concrete5.6.3.2/concrete/core/controllers/single_pages/upgrade.php(44): Concrete5_Controller_Upgrade->do_upgrade() #9 [internal function]: Concrete5_Controller_Upgrade->view('tools', 'required', 'upgrade') #10 /homepages/33/d123123123/htdocs/www.my-website/updates/concrete5.6.3.2/concrete/core/libraries/controller.php(267): call_user_func_array(Array, Array) #11 /homepages/33/d123123123/htdocs/www.my-website/updates/concrete5.6.3.2/concrete/core/libraries/controller.php(237): Concrete5_Library_Controller->runTask('view', Array) #12 /homepages/33/d123123123/htdocs/www.my-website/updates/concrete5.6.3.2/concrete/core/libraries/view.php(787): Concrete5_Library_Controller->setupAndRun() #13 /homepages/33/d123123123/htdocs/www.my-website/updates/concrete5.6.3.2/concrete/tools/upgrade.php(6): Concrete5_Library_View->render('/upgrade') #14 /homepages/33/d123123123/htdocs/www.my-website/updates/concrete5.6.3.2/concrete/startup/tools_upgrade_check.php(9): include('/homepages/33/d...') #15 /homepages/33/d123123123/htdocs/www.my-website/updates/concrete5.6.3.2/concrete/dispatcher.php(105): require('/homepages/33/d...') #16 /homepages/33/d123123123/htdocs/www.my-website/concrete/startup/updated_core_check.php(6): require('/homepages/33/d...') #17 /homepages/33/d123123123/htdocs/www.my-website/concrete/dispatcher.php(14): require('/homepages/33/d...') #18 /homepages/33/d123123123/htdocs/www.my-website/index.php(2): require('/homepages/33/d...') #19 {main}

when I go to the hompage, it has some menus, but content is missing and it show the following error message:
mysqlt error: [1054: Unknown column 'isScheduled' in 'where clause'] in EXECUTE("SELECT jID FROM Jobs WHERE isScheduled = 1 ORDER BY jDateLastRun, jID")

in order to get the site operational again I´ll then use config/site.php to revert back to 5.5.2.1

I´d really like to fix that problem now for good. I guess it´s got something to do with the mysql db or also with server limits while updating. With 3 smaller con5 websites on the same server I never had these problems.
I hope somebody can tell me a way to fix this problem.

billabong
 
WebcentricLtd replied on at Permalink Reply
might the underlying upgrade issue here be the same as this?

http://www.concrete5.org/developers/bugs/5-6-3-2/upgrade-from-5.6.2...
WebcentricLtd replied on at Permalink Reply
hi again,
the reason you are getting the sql error message on your homepage is because the upgrade did not complete and your new 5.6.3 codebase is pointing at your 5.5 database which has a different schema. Please see if the link I posted earlier helps and don't just try adding columns into the database table. The upgrade needs to work properly without that kind of manual intervention.
robodev replied on at Permalink Reply 1 Attachment
I know what's wrong and I know what to try, and it might work.

Links to the code-base for your two versions:
https://github.com/concrete5/concrete5/releases/tag/5.5.2.1...
https://github.com/concrete5/concrete5/releases/tag/5.6.3.2...

If we compare the db.xml between the two versions, there is a schema change to the jobs table. The field name 'isScheduled' did not exist in 5.5. (see attached comparison which is the relevant part of the main db.xml)

There are three ways to fix this.

1) report this as a bug
2) add that field into your database prior to trying the upgrade.
3) Upgrade in smaller increments, such that this change to the schema happened a while ago, and the upgrade script may have caught it, who knows.

What I would do is compare the db.xml files from the two versions side-by-side and validate that the database schemas match. If there are extraneous tables/fields, that's not an issue, but obviusly if there are dependencies, that is a show-stopper.

An interesting observation is that a google seach on your sqlt error returns about 200 broken C5 installs worldwide.
WebcentricLtd replied on at Permalink Reply
hello again,
apologies for all the replies but this was nagging at me.

The problem lies if you try to go straight to 5.6.3.2.
You should find you are ok if you upgrade to 5.6.3.1 and then perform the upgrade to 5.6.3.2.

Back your 5.5.2.1 database up first though. But you should be ok if you upgrade in that order.
billabong replied on at Permalink Reply
billabong
Thanks a lot both of you for your efforts.
If tried to work through all that.
Right now I tried updates to different versions.

upgrade to 5.6.0:
Fatal error: Call to undefined method AddBlockBlockTypePermissionAccess::isPermissionKeyInUse() in /homepages/22/d44444/htdocs/www.mywebsite.de/updates/concrete5.6.1/concrete/helpers/concrete/upgrade/version_560.php on line 284

upgrade to 5.6.1:
Ein unerwarteter Fehler ist währen des Upgrade aufgetreten: mysql error: [1048: Column 'cID' cannot be null] in EXECUTE("INSERT INTO PagePermissionAssignments (cID,paID,pkID) VALUES (NULL,'764','1')")

upgrade to 5.6.3.1
Ein unerwarteter Fehler ist währen des Upgrade aufgetreten: #0 /homepages/22/d44444/htdocs/www.mywebsite.de
/updates/concrete5.6.3.1/concrete/libraries/3rdparty/adodb/adodb.inc.php(1074): adodb_throw('mysqlt', 'EXECUTE', 1048, 'Column 'cID' ca...', 'INSERT INTO Pag...', false, Object(ADODB_mysqlt)) #1 /homepages/22/d44444/htdocs/www.mywebsite.de.........

but I couldn´t figure out how to add the field isScheduled to my DB.

Actually I´m starting to think if it´s worth it. As I won´t be able to update to 5.7 anyway! I mean the site is running fine now. Only no update to 5.6 and no new addons.
For me it is just really hard to tell what my chances are of solving that problem in a reasonable time.