Publisher does not support the Fluid field type. Please do not contact asking when support will be available.

If you purchased an add-on from expressionengine.com, be sure to visit boldminded.com/claim to add the license to your account here on boldminded.com.

Ticket: MySQL error when installing Datagrab

Status Resolved
Add-on / Version DataGrab 5.2.1
Severity
EE Version 7.4.2

rkern

Mar 03, 2024

Description of the problem When Updating Datagrab from an earlier version on EE 7.4.2 I get the error below. This happened after an EE upgrade for version 5 to 7.4.2.

BoldMinded\DataGrab\Dependency\Illuminate\Database\QueryException Caught SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL: alter table exp_datagrab_failed_jobs add unique failed_jobs_uuid_unique(uuid)) user/addons/datagrab/vendor-build/illuminate/database/Connection.php:588

Stack Trace: Please include when reporting this error

0 user/addons/datagrab/vendor-build/illuminate/database/Connection.php(560): BoldMinded\DataGrab\Dependency\Illuminate\Database\Connection->runQueryCallback(‘alter table `ex…’, Array, Object(Closure))

1 user/addons/datagrab/vendor-build/illuminate/database/Connection.php(425): BoldMinded\DataGrab\Dependency\Illuminate\Database\Connection->run(‘alter table `ex…’, Array, Object(Closure))

2 user/addons/datagrab/vendor-build/illuminate/database/Schema/Blueprint.php(96): BoldMinded\DataGrab\Dependency\Illuminate\Database\Connection->statement(‘alter table `ex…’)

3 user/addons/datagrab/vendor-build/illuminate/database/Schema/Builder.php(318): BoldMinded\DataGrab\Dependency\Illuminate\Database\Schema\Blueprint->build(Object(BoldMinded\DataGrab\Dependency\Illuminate\Database\MySqlConnection), Object(BoldMinded\DataGrab\Dependency\Illuminate\Database\Schema\Grammars\MySqlGrammar))

4 user/addons/datagrab/vendor-build/illuminate/database/Schema/Builder.php(196): BoldMinded\DataGrab\Dependency\Illuminate\Database\Schema\Builder->build(Object(BoldMinded\DataGrab\Dependency\Illuminate\Database\Schema\Blueprint))

5 user/addons/datagrab/updates/up_5_00_00.php(23): BoldMinded\DataGrab\Dependency\Illuminate\Database\Schema\Builder->create(‘failed_jobs’, Object(Closure))

6 user/addons/datagrab/vendor-build/litzinger/basee/src/Updater.php(98): Update_5_00_00->doUpdate()

7 user/addons/datagrab/upd.datagrab.php(84): BoldMinded\DataGrab\Dependency\Litzinger\Basee\Updater->runUpdates()

8 ee/legacy/libraries/addons/Addons_installer.php(71): Datagrab_upd->install()

9 ee/legacy/libraries/addons/Addons_installer.php(327): Addons_installer->install_module(‘datagrab’)

10 ee/legacy/libraries/addons/Addons_installer.php(37): Addons_installer->_update_addon(‘datagrab’, ‘module’, ‘install’, false)

11 ee/ExpressionEngine/Controller/Addons/Addons.php(1437): Addons_installer->install(‘datagrab’, ‘module’, false)

12 ee/ExpressionEngine/Controller/Addons/Addons.php(614): ExpressionEngine\Controller\Addons\Addons->installModule(‘datagrab’)

13 [internal function]: ExpressionEngine\Controller\Addons\Addons->install(Array)

14 ee/ExpressionEngine/Core/Core.php(268): call_user_func_array(Array, Array)

15 ee/ExpressionEngine/Core/Core.php(124): ExpressionEngine\Core\Core->runController(Array)

16 ee/ExpressionEngine/Boot/boot.php(184): ExpressionEngine\Core\Core->run(Object(ExpressionEngine\Core\Request))

17 admin.php(139): require_once(‘…’)

17 admin.php(139): require_once(‘…’)

Environment Details: - Version: 5.2.1 - PHP Version 8.1 - MySQL Version [e.g. 5.7] - OS: Linux - Web Server: Apache

Possible Solution

Additional context

#1

BoldMinded (Brian)

Same error as this ticket. You’ll need to switch to InnoDB. https://boldminded.com/support/ticket/2722

From the docs: MySQL 5.7 - 8.0 or MariaDB 10.2+ (InnoDB engine preferred. Install may fail if database engine is MyISAM)

#2

rkern

Sorry… assumed the emails fed the ticket.

OK…. So I am on MySQL 10.3.39-MariaDB & PHP 8.1.27

I uninstalled Datagrab and then tried the install again & I get the same error. The table that the Datagrab Installer makes in a MyIsam but the rest of my database is Innodb.

So I switched that one table to Innodb & when I return to the Add Ons page it shows Datagrab as installed, but it is showing as version 0.1.0 … and the Updates tab has an update for DG 5.1.2 … so I tried it & get this error:

Error: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'keltecinc_LiveJune.exp_ajw_datagrab' doesn't exist:
SHOW COLUMNS FROM `exp_ajw_datagrab

Not sure what to try next. I have installed this on a local version under MAMP as well as on a Dev site on the same server with no issues.

#3

BoldMinded (Brian)

Comment has been marked private.

#4

rkern

That worked perfectly. Thank you. R

#5

BoldMinded (Brian)

Good to hear! Sorry about the initial errors.

Login to reply