Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update from 2018.02.7 to 2018.08.9: Uncaught PDOException #7013

Open
SmartBulb67 opened this Issue Mar 9, 2019 · 4 comments

Comments

Projects
None yet
2 participants
@SmartBulb67
Copy link

SmartBulb67 commented Mar 9, 2019

Hi there,

in my quest to update my Tine20 installation to a more current version, I encountered another difficult puzzle.

I tried to update to version 2018.08.9 coming from version 2018.02.7.
I opened the "setup.php" subpage, which already took some time and when initiating the update of the modules, immediately the following error message appeared:
illegal json data in response

Fatal error: Uncaught PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_system' in 'where clause' in /webpage/vendor/zendframework/zendframework1/library/Zend/Db/Statement/Pdo.php:228 Stack trace: #0 /webpage/vendor/zendframework/zendframework1/library/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array) #1 /webpage/vendor/zendframework/zendframework1/library/Zend/Db/Statement.php(303): Zend_Db_Statement_Pdo->_execute(Array) #2 /webpage/vendor/zendframework/zendframework1/library/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array) #3 /webpage/vendor/zendframework/zendframework1/library/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SELECT 'customf...', Array) #4 /webpage/Tinebase/CustomField/Config.php(125): Zend_Db_Adapter_Pdo_Abstract->query(Object(Zend_Db_Sel in /webpage/Tinebase/NewModelConfiguration.php on line 46

No modules where updated, since the version numbers stayed the same, from what I can remember.

I hope you have some ideas on this.

Best regards,


P.S.:

Trying to go back to the version 2018.02.7 resulted in the following error message when opening any Tine20 web page (login page or setup page):
Fatal error: Tinebase_Application::getApplicationByName(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "Tinebase_Record_RecordSetFast" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /webpage/Tinebase/Application.php on line 154

This issue was resolved without any active intervention from my side in the next morning.
I can just assume, it had something to do with the application cache, since I even tried to open a new browser window and resetting the browser cache after immediately after reverting back to the "older" version.
So now am stuck with version 2018.02.7 and no idea on how to update.

@lab-at-nohl

This comment has been minimized.

Copy link
Contributor

lab-at-nohl commented Mar 11, 2019

Going back from a half succeded update isn't the best idea imho. I hope you had a backup of your database which could be restored... If you have the choice, try to avoid 2018.02.7 (it is broken according to release page), stick with 2018.02.6.

The missing field 'is_system' was introduced to custom fields in Tinebase Version 11.39. It seems to me that it came with a later minor version of 2018.08.x. Hence, try to upgrade to a smaller minor before you go to the last minor version (normally. this shouldn't be necessary).

I had success upgrading: 2018.02.6 -> 2018.08.3 -> 2018.08.6 -> 2018.08.9.

@SmartBulb67

This comment has been minimized.

Copy link
Author

SmartBulb67 commented Mar 11, 2019

Hi Johannes,
thank you very much for your reply.
I had already installed version 2018.02.7 since some days and did not realize before, this version should not be used. There is a quite prominent note in the release page (NOTE: this release should not be used), but for whatever reason I installed it and it worked for me.

And your idea concerning the intermediate minor releases did work fine until now.
I upgraded successfully from version 2018.02.7 to version 2018.8.3. This worked without issues.
I will try to upgrade to version 2018.08.6 next and then to 2018.08.9.
Wish me luck.

I would highly appreciate an updated "Update Howto" documentation.
Currently it is written there: it is recommended (and supported) to only update from a given major version (latest minor release) to the next one (again the latest minor release).
This part of the documentation has caused my quite some trouble already.
Where would I best address issue?

Concerning the next update steps, I will send an update on my success or my next issue here.

Many thanks for your support this far
Daniel

@SmartBulb67

This comment has been minimized.

Copy link
Author

SmartBulb67 commented Mar 11, 2019

OK, I managed to get to version 2018.8.6 without any problem.
This was a pleasant surprise.

Unfortunately it did not go on like this, but I encountered another error message while upgrading from 2018.8.6 to 2018.8.9.
On the setup web-page the message was "Der Server kann Ihre Anfrage leider Aufgrund einer temporären Überlastung, Wartungsarbeiten oder Fehlkonfiguration nicht beantworten."
In the Tine20 log file on the web server I found several errors with the following line:
Unknown column 'tree_filerevisions.lastavscan_time' in 'field list'
Is this something I could ignore?

The last line in the log seems more serious to me. It says the following:
Tinebase_Exception::logExceptionToLogger::133 Tinebase_Exception_Backend -> you already have some utf8mb4 tables, but your db config says utf8, this is bad!
I assume this is bad.

Any ideas, on how to resolve this?

@lab-at-nohl

This comment has been minimized.

Copy link
Contributor

lab-at-nohl commented Mar 13, 2019

Hi, glad you did it so far. It is very unfortun that the update took you more than one minor update. But anyways... There are two errors remaining, the first is related to changes in 2018.08.9, I guess. It may go away if you get the seoncd issue fixed (if not please comment).

utf8mb4 is a DB collation and is required since 2018.08.5. Do you have utf8 settings in config.inc.php - if not, try 'useUtf8mb4' => false (or true). If you have to alter DB collation, run setup.php --migrateUtf8mb4 on the CLI (I hope you have SSH). Otherwise search here (also the closed issues) for utf8mb4.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.