External issue Upgrade from 2.3.4 too 2.3.6

puertoblack2003

Active member
Licensed customer
Affected version
2.3.4
ran the upgrade script and got stuck with this error:

XF\Db\InvalidQueryException: xf_oauth_request: MySQL query error [1071]: Specified key was too long; max key length is 1000 bytes in src\XF\Db\AbstractStatement.php at line 230
  1. XF\Db\AbstractStatement->getException() in src\XF\Db\Mysqli\Statement.php at line 207
  2. XF\Db\Mysqli\Statement->getException() in src\XF\Db\Mysqli\Statement.php at line 83
  3. XF\Db\Mysqli\Statement->execute() in src\XF\Db\AbstractAdapter.php at line 96
  4. XF\Db\AbstractAdapter->query() in src\XF\Db\Schema\AbstractDdl.php at line 158
  5. XF\Db\Schema\AbstractDdl->apply() in src\XF\Db\SchemaManager.php at line 157
  6. XF\Db\SchemaManager->alterTable() in src\XF\Install\Upgrade\2030570-235.php at line 43
  7. XF\Install\Upgrade\Version2030570->step4() in src\XF\Install\Controller\Upgrade.php at line 192
  8. XF\Install\Controller\Upgrade->actionRun() in src\XF\Mvc\Dispatcher.php at line 362
  9. XF\Mvc\Dispatcher->dispatchClass() in src\XF\Mvc\Dispatcher.php at line 264
  10. XF\Mvc\Dispatcher->dispatchFromMatch() in src\XF\Mvc\Dispatcher.php at line 121
  11. XF\Mvc\Dispatcher->dispatchLoop() in src\XF\Mvc\Dispatcher.php at line 63
  12. XF\Mvc\Dispatcher->run() in src\XF\App.php at line 2826
  13. XF\App->run() in src\XF.php at line 806
  14. XF::runApp() in install\index.php at line 16
 
after seeing this post ( https://xenforo.com/community/threads/2-3-4-2-3-5-mysql-query-error-1406.228818/) i decided to tinker around with the db to see if anything changed. then this happened.

Code:
XF\Db\Exception: MySQL statement prepare error [1267]: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_520_ci,IMPLICIT) for operation '=' in src\XF\Db\AbstractStatement.php at line 230

after making the changes the upgraded finally, went through and completed the upgrade.
 
I think you can alter the table by convert the type of oauth_request_id column from varchar to text then after finish the upgrade return it back to varchar i did that for many customers. special who migrate from vBulletin to Xenforo.
 
I think you can alter the table by convert the type of oauth_request_id column from varchar to text then after finish the upgrade return it back to varchar i did that for many customers. special who migrate from vBulletin to Xenforo.
yea, that's what i had to do and then i got a mix collation error, once resolved i was able to complete upgrade.
 
Automated triage: Server issue

Thank you for reporting this issue. This error only happens when the oauth request table uses the MyISAM or Aria storage engine. XenForo creates that table as InnoDB, which accepts this key. The collation mix you hit afterwards also suggests the database tables were altered outside XenForo, so converting them to InnoDB with a consistent collation is the fix.

This is an automated assessment. A member of staff may review and update it.
 
Back
Top Bottom