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: Install failure

Status Resolved
Add-on / Version Publisher Lite 2.6.0
Severity
EE Version 3.5.9

Zhan Chen

Jul 24, 2017

Description:
Installation fails producing string of PHP errors. Can’t proceed from there.

More info:
This is a site that was upgraded from EE 2.10.1. Previously, it had NSM Better Workflow installed. That’s not available in EE 3, so the site owner wanted to use Publisher Lite. I suspect there’s cruft left over from the old add-on that’s causing the issue here… but I’m not sure where to start poking. I can see that there is a special Status group that’s left over from NSM Better Workflow, but I’ve deleted any obvious tables created by NSM BW and am still unable to install.

Detailed steps to reproduce the issue:
1. Click “Install” in Add on Manager
2.
3.

Errors:
SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘field_id_1’ in ‘field list’:
INSERT INTO `exp_publisher_data` (entry_id, site_id, channel_id, lang_id, status, field_id_1, field_id_2, field_id_3, field_id_4, field_id_5, field_id_6, field_id_7, field_id_8, field_id_9, field_id_10, field_id_11, field_id_12, field_id_13, field_id_14, field_id_15, field_id_16, field_id_17, field_id_18, field_id_19, field_id_20, field_id_21, field_id_22, field_id_23, field_id_24, field_id_25, field_id_27, field_id_28, field_id_29, field_id_30, field_id_31, field_id_33, field_id_35, field_id_36, field_id_41, field_id_42, field_id_43, field_id_44, field_id_45, field_id_46, field_id_47, field_id_48, field_id_49, field_id_50, field_id_51, field_id_52, field_id_53, field_id_54, field_id_55, field_id_56, field_id_57, field_id_58, field_id_59, field_id_60, field_id_61, field_id_62, field_id_63, field_id_64, field_id_65, field_id_66, field_id_67, field_id_68, field_id_69, field_id_70, field_id_71, field_id_72, field_id_73, field_id_74, field_id_75) VALUES (1, 1, 1, 1, ‘open’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’,

...this is followed by what appears to be every entry in the site’s channel data table.

Trace output:
#0 ee/legacy/database/drivers/mysqli/mysqli_driver.php(137): CI_DB_mysqli_connection->query(‘INSERT INTO `ex…’)
#1 ee/legacy/database/DB_driver.php(297): CI_DB_mysqli_driver->_execute(‘INSERT INTO `ex…’)
#2 ee/legacy/database/DB_driver.php(203): CI_DB_driver->simple_query(‘INSERT INTO `ex…’)
#3 user/addons/publisher/legacy/models/publisher_entry.php(206): CI_DB_driver->query(‘INSERT INTO `ex…’)
#4 user/addons/publisher/legacy/libraries/Publisher_cp_events.php(76): Publisher_entry->migrate_data()
#5 user/addons/publisher/Service/Session.php(342): Publisher_cp_events->handler(Object(EE_Session))
#6 user/addons/publisher/ext.publisher.php(304): BoldMinded\Publisher\Service\Session->boot()
#7 [internal function]: Publisher_ext->core_boot()
#8 ee/legacy/libraries/Extensions.php(243): call_user_func_array(Array, Array)
#9 ee/legacy/libraries/Extensions.php(138): EE_Extensions->call_class(‘Publisher_ext’, ‘core_boot’, Array, Array)
#10 ee/legacy/core/Controller.php(97): EE_Extensions->call(‘core_boot’)
#11 ee/legacy/core/Controller.php(119): EE_Controller->__construct()
#12 ee/EllisLab/ExpressionEngine/Controller/Addons/Addons.php(47): CP_Controller->__construct()
#13 ee/EllisLab/ExpressionEngine/Core/Core.php(187): EllisLab\ExpressionEngine\Controller\Addons\Addons->__construct()
#14 ee/EllisLab/ExpressionEngine/Core/Core.php(94): EllisLab\ExpressionEngine\Core\Core->runController(Array)
#15 ee/EllisLab/ExpressionEngine/Boot/boot.php(151): EllisLab\ExpressionEngine\Core\Core->run(Object(EllisLab\ExpressionEngine\Core\Request))
#16 admin.php(143): require_once(’...’)
#16 admin.php(143): require_once(’...’)

#1

BoldMinded (Brian)

You get that error during the actual install action or when you edit an entry? If it’s happening after the install go to the Publisher > Utilities > Database Cleanup page.

#2

Zhan Chen

The error occurs at the install action and prevents any further use of the control panel.

Fortunately, I am not an idiot and do this sort of thing on a local dev environment with a copy of the db!

#3

BoldMinded (Brian)

Make sure you’re using the latest version of Publisher. Also, there shouldn’t be any issues during the install. It looks at the exp_channel_data table and copies the rows that are there. Make sure you clear all of your caches, grab the latest version, and try the install again. I just can’t see how this is happening on install (I’m unable to replicate it locally). It should only happen when you’re trying to save an entry but did not run the database cleanup script.

#4

Zhan Chen

Hello,

I’ve replaced Publisher Lite 2.6.0 files with 2.6.1 files, cleared cache and attempted another install with same results. Same issue occurs on local dev environment and server environment (both PHP 7.0).

FYI: I’m developer working with Zhan Chen. I’m adding my email to the notifications field, but not getting direct notifications.

#5

Zhan Chen

Hey… developer here again,

I may see the issue… as I mentioned before this site was upgraded from 2.10.something to 3.5.9. Part of that process was converting matrix fields to grid fields. Old matrix fields were deleted after conversion and testing. It appears that the field columns still exist in the channel data table for fields that no longer exist in the channel fields table.

#6

BoldMinded (Brian)

Are the following columns in your exp_channel_data table? field_id_1, field_id_2, field_id_3 etc?

If you’re installing into a site where its never been installed before then it is supposed to just copy the columns from exp_channel_data to exp_publisher_data. It shouldn’t be complaining about columns not existing.

#7

BoldMinded (Brian)

Yeah, thats what the Database Cleanup script I created is supposed to fix. I did a similar upgrade a few weeks ago from 2.x where I converted Matrix to Grid, and Playa to Relationship in EE2, then upgraded to EE3, then installed Publisher and it was fine, though this site had Publisher installed prior to the upgrade, so it was just upgrading Publisher, not a clean install.

I think the short term fix, if you can, is to manually delete those columns before installing Publisher.

#8

Zhan Chen

Those columns DO exist in the exp_channel_data table.

Here’s a dump of the DB structure for that table (maybe you’ll see something that can help):

/!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS /; /!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION /; /!40101 SET NAMES utf8 /; /!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 /; /!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=’NO_AUTO_VALUE_ON_ZERO’ /; /!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

CREATE TABLE exp_channel_data ( entry_id int(10) unsigned NOT NULL, site_id int(4) unsigned NOT NULL DEFAULT ‘1’, channel_id int(4) unsigned NOT NULL, field_id_1 text COLLATE utf8_unicode_ci, field_ft_1 tinytext COLLATE utf8_unicode_ci, field_id_2 text COLLATE utf8_unicode_ci, field_ft_2 tinytext COLLATE utf8_unicode_ci, field_id_3 text COLLATE utf8_unicode_ci, field_ft_3 tinytext COLLATE utf8_unicode_ci, field_id_4 text COLLATE utf8_unicode_ci, field_ft_4 tinytext COLLATE utf8_unicode_ci, field_id_5 text COLLATE utf8_unicode_ci, field_ft_5 tinytext COLLATE utf8_unicode_ci, field_id_6 text COLLATE utf8_unicode_ci, field_ft_6 tinytext COLLATE utf8_unicode_ci, field_id_7 text COLLATE utf8_unicode_ci, field_ft_7 tinytext COLLATE utf8_unicode_ci, field_id_8 text COLLATE utf8_unicode_ci, field_ft_8 tinytext COLLATE utf8_unicode_ci, field_id_9 text COLLATE utf8_unicode_ci, field_ft_9 tinytext COLLATE utf8_unicode_ci, field_id_10 text COLLATE utf8_unicode_ci, field_ft_10 tinytext COLLATE utf8_unicode_ci, field_id_11 text COLLATE utf8_unicode_ci, field_ft_11 tinytext COLLATE utf8_unicode_ci, field_id_12 text COLLATE utf8_unicode_ci, field_ft_12 tinytext COLLATE utf8_unicode_ci, field_id_13 text COLLATE utf8_unicode_ci, field_ft_13 tinytext COLLATE utf8_unicode_ci, field_id_14 text COLLATE utf8_unicode_ci, field_ft_14 tinytext COLLATE utf8_unicode_ci, field_id_15 text COLLATE utf8_unicode_ci, field_ft_15 tinytext COLLATE utf8_unicode_ci, field_id_16 text COLLATE utf8_unicode_ci, field_ft_16 tinytext COLLATE utf8_unicode_ci, field_id_17 text COLLATE utf8_unicode_ci,

and so on… you have a character limit so I can include everything…

#9

Zhan Chen

Whoops… replies passed in the ether…

I’ll give that a whack and see if that succeeds.

#10

Zhan Chen

WOOT!

That did the trick. Client is happy and you can close this ticket!

#11

BoldMinded (Brian)

Sweet. Sorry about that 😊

Login to reply