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: EE4.0.5 seems to have changed the way channel data is stored, breaking Bloqs?

Status Resolved
Add-on / Version Bloqs 3.1.1
Severity
EE Version 4.0.5

Christian Rengers

Jan 16, 2018

While investigating a ticket I’ve already opened with Bloqs, I created a new install of EE4.0.5 but i’m not getting a new issue

When submitting an entry I get the following error:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'field_id_1' in 'field list':
UPDATE `exp_channel_data` SET `field_id_1` = 'Leisure <b>Club</b>||<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque convallis, augue in cursus semper, ligula massa cursus eros, quis imperdiet mi metus at lorem. Mauris a gravida nisi. Integer sit amet dui dolor. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris et magna sed lacus tincidunt dignissim a at nunc. Suspendisse ullamcorper ipsum id elit eleifend interdum. Curabitur erat nisi, vulputate pellentesque ullamcorper id, interdum in velit. Phasellus ac magna quam. Nulla egestas elit rhoncus purus eleifend, quis malesuada nulla elementum.</p><p>' WHERE `entry_id` = 1 AND `site_id` = 0<br />
ee/legacy/database/drivers/mysqli/mysqli_connection.php:116</p>

<p>Stack Trace: Please include when reporting this error<br />
#0 ee/legacy/database/drivers/mysqli/mysqli_driver.php(111): CI_DB_mysqli_connection->query('UPDATE `exp_cha…')<br />
#1 ee/legacy/database/DB_driver.php(269): CI_DB_mysqli_driver->_execute('UPDATE `exp_cha…')<br />
#2 ee/legacy/database/DB_driver.php(179): CI_DB_driver->simple_query('UPDATE `exp_cha…')<br />
#3 ee/legacy/database/DB_active_rec.php(1476): CI_DB_driver->query('UPDATE `exp_cha…')<br />
#4 user/addons/bloqs/libraries/EEBlocks/Database/Adapter.php(771): CI_DB_active_record->update('channel_data', Array)<br />
#5 user/addons/bloqs/libraries/EEBlocks/Controller/PublishController.php(490): EEBlocks\Database\Adapter->updateFieldData(0, 1, 1, 'Leisure Club…')<br />
#6 user/addons/bloqs/ft.bloqs.php(335): EEBlocks\Controller\PublishController->save(Array, 0, 1)<br />
#7 ee/legacy/libraries/api/Api_channel_fields.php(408): Bloqs_ft->post_save(Array)<br />
#8 ee/EllisLab/ExpressionEngine/Model/Content/FieldFacade.php(209): Api_channel_fields->apply('post_save', Array)<br />
#9 ee/EllisLab/ExpressionEngine/Model/Content/ContentModel.php(75): EllisLab\ExpressionEngine\Model\Content\FieldFacade->postSave()<br />
#10 ee/EllisLab/ExpressionEngine/Model/Channel/ChannelEntry.php(353): EllisLab\ExpressionEngine\Model\Content\ContentModel->onAfterSave()<br />
#11 [internal function]: EllisLab\ExpressionEngine\Model\Channel\ChannelEntry->onAfterSave()<br />
#12 ee/EllisLab/ExpressionEngine/Service/Model/Model.php(824): call_user_func_array(Array, Array)<br />
#13 ee/EllisLab/ExpressionEngine/Service/Model/Query/Update.php(47): EllisLab\ExpressionEngine\Service\Model\Model->emit('afterSave')<br />
#14 ee/EllisLab/ExpressionEngine/Service/Model/DataStore.php(281): EllisLab\ExpressionEngine\Service\Model\Query\Update->run()<br />
#15 ee/EllisLab/ExpressionEngine/Service/Model/DataStore.php(247): EllisLab\ExpressionEngine\Service\Model\DataStore->runQuery('Update', Object(EllisLab\ExpressionEngine\Service\Model\Query\Builder))<br />
#16 ee/EllisLab/ExpressionEngine/Service/Model/Query/Builder.php(70): EllisLab\ExpressionEngine\Service\Model\DataStore->updateQuery(Object(EllisLab\ExpressionEngine\Service\Model\Query\Builder))<br />
#17 ee/EllisLab/ExpressionEngine/Service/Model/Model.php(360): EllisLab\ExpressionEngine\Service\Model\Query\Builder->update()<br />
#18 ee/EllisLab/ExpressionEngine/Model/Content/ContentModel.php(219): EllisLab\ExpressionEngine\Service\Model\Model->save()<br />
#19 ee/EllisLab/ExpressionEngine/Controller/Publish/AbstractPublish.php(366): EllisLab\ExpressionEngine\Model\Content\ContentModel->save()<br />
#20 ee/EllisLab/ExpressionEngine/Controller/Publish/Edit.php(468): EllisLab\ExpressionEngine\Controller\Publish\AbstractPublish->saveEntryAndRedirect(Object(EllisLab\ExpressionEngine\Model\Channel\ChannelEntry))<br />
#21 [internal function]: EllisLab\ExpressionEngine\Controller\Publish\Edit->entry('1')<br />
#22 ee/EllisLab/ExpressionEngine/Core/Core.php(229): call_user_func_array(Array, Array)<br />
#23 ee/EllisLab/ExpressionEngine/Core/Core.php(109): EllisLab\ExpressionEngine\Core\Core->runController(Array)<br />
#24 ee/EllisLab/ExpressionEngine/Boot/boot.php(146): EllisLab\ExpressionEngine\Core\Core->run(Object(EllisLab\ExpressionEngine\Core\Request))<br />
#25 sites/longashespark/admin.php(147): require_once('...')<br />
#25 sites/longashespark/admin.php(147): require_once('...')

When looking at the tables, it looks like EE now makes a new exp_channel_data_field table for each field, rather than one big channel_data field? I also noticed in exp_channel_fields the site_id for each field is 0 (this is a MSM site), were previously it would show the ID of the site the field was created on. So it looks like a big change inside of EE but I don’t see that mentioned in the change log?
I also updated an existing install of EE 4.0.4 to 4.0.5, and new fields are created as separate tables.

#1

BoldMinded (Brian)

Comment has been marked private.

#2

Christian Rengers

The latest build fixed that problem, but i’ve encountered another.

If i go into Bloqs settings and try to add another field to an existing Bloq, when save I get the following white screen:

Fatal error: Uncaught Error: Call to undefined method EEBlocks\Model\AtomDefinition::setId() in /Users/JoeBloggs/Sites/mywebsite/app/addons/bloqs/mcp.bloqs.php:687 Stack trace: #0 /Users/JoeBloggs/Sites/mywebsite/app/addons/bloqs/mcp.bloqs.php(208): Bloqs_mcp->applyAtomSettings(Object(EEBlocks\Model\BlockDefinition), Array, Object(EEBlocks\Database\Adapter)) #1 [internal function]: Bloqs_mcp->blockdefinition() #2 /Users/JoeBloggs/Sites/mywebsite/system/ee/EllisLab/ExpressionEngine/Controller/Addons/Addons.php(1600): call_user_func_array(Array, Array) #3 /Users/JoeBloggs/Sites/mywebsite/system/ee/EllisLab/ExpressionEngine/Controller/Addons/Addons.php(884): EllisLab\ExpressionEngine\Controller\Addons\Addons->getModuleSettings('bloqs', 'blockdefinition', Array) #4 [internal function]: EllisLab\ExpressionEngine\Controller\Addons\Addons->settings('bloqs', 'blockdefinition') #5 /Users/JoeBloggs/Sites/mywebsite/system/ee/EllisLab/Exp in /Users/JoeBloggs/Sites/mywebsite/app/addons/bloqs/mcp.bloqs.php on line 687
#3

BoldMinded (Brian)

Comment has been marked private.

#4

BoldMinded (Brian)

Actually, grab the 3.3.2 release from your account, its newer than the linked file. I’m going to close this ticket b/c I’m pretty certain it fixes this issue.

Login to reply