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(’...’)
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.
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!
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.
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.
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.
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.
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.
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…
Zhan Chen
Whoops… replies passed in the ether…
I’ll give that a whack and see if that succeeds.
Zhan Chen
WOOT!
That did the trick. Client is happy and you can close this ticket!
BoldMinded (Brian)
Sweet. Sorry about that 😊