We use cookies to improve your experience. No personal information is gathered and we don't serve ads. Cookies Policy.

ExpressionEngine Logo ExpressionEngine
Features Pricing Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University
Log In or Sign Up
Log In Sign Up
ExpressionEngine Logo
Features Pro new Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University Blog
  • Home
  • Forums

EE3 to EE4 upgrade doesn't work

How Do I?

justred.ca's avatar
justred.ca
22 posts
7 years ago
justred.ca's avatar justred.ca

Attempting to upgrade from EE3 to EE4, and the update process is repeatedly failing… It’s very basic EE3 install, no add-ons & an extremely setup, but as soon as I click the “Update” button there’s an error saying:

“Exception Caught SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘Channel_channels.status_group’ in ‘field list’:”

It’s quite long, full text of the error is at the end of this post.

Also, there appears to be a path error in the updater - the page is completely unstyled, because of a double “/” in the following stylesheet link:

<link href=”themes//ee/cp/css/out.min.css” rel=”stylesheet”>

And to top it all off, there’s ALSO an error/omission in the documentation for upgrading from 3 to 4:

https://docs.expressionengine.com/latest/installation/upgrade_from_3.x.html

No where in those instructions does it mention that the config file from the EE3 install needs to be copied over - but if that’s not done, then the installer prompts for DB login info, etc & appears to attempt installation of a new copy of EE… then on the next page, returns an error stating that there already appears to be an install in that database & that the config file is needed if attempting to update (but doesn’t mention where the file is or what it’s called, which I had to find by grep’ing for the database name).

Here’s the full error that appears to be breaking the upgrade process:

Exception Caught SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘Channel_channels.status_group’ in ‘field list’: SELECT ChannelLayout_layout_publish.layout_id as ChannelLayout__layout_id, ChannelLayout_layout_publish.site_id as ChannelLayout__site_id, ChannelLayout_layout_publish.channel_id as ChannelLayout__channel_id, ChannelLayout_layout_publish.layout_name as ChannelLayout__layout_name, ChannelLayout_layout_publish.field_layout as ChannelLayout__field_layout, Channel_channels.channel_id as Channel__channel_id, Channel_channels.site_id as Channel__site_id, Channel_channels.channel_name as Channel__channel_name, Channel_channels.channel_title as Channel__channel_title, Channel_channels.channel_url as Channel__channel_url, Channel_channels.channel_description as Channel__channel_description, Channel_channels.channel_lang as Channel__channel_lang, Channel_channels.total_entries as Channel__total_entries, Channel_channels.total_records as Channel__total_records, Channel_channels.total_comments as Channel__total_comments, Channel_channels.last_entry_date as Channel__last_entry_date, Channel_channels.last_comment_date as Channel__last_comment_date, Channel_channels.cat_group as Channel__cat_group, Channel_channels.status_group as Channel__status_group, Channel_channels.deft_status as Channel__deft_status, Channel_channels.field_group as Channel__field_group, Channel_channels.search_excerpt as Channel__search_excerpt, Channel_channels.deft_category as Channel__deft_category, Channel_channels.deft_comments as Channel__deft_comments, Channel_channels.channel_require_membership as Channel__channel_require_membership, Channel_channels.channel_max_chars as Channel__channel_max_chars, Channel_channels.channel_html_formatting as Channel__channel_html_formatting, Channel_channels.extra_publish_controls as Channel__extra_publish_controls, Channel_channels.channel_allow_img_urls as Channel__channel_allow_img_urls, Channel_channels.channel_auto_link_urls as Channel__channel_auto_link_urls, Channel_channels.channel_notify as Channel__channel_notify, Channel_channels.channel_notify_emails as Channel__channel_notify_emails, Channel_channels.comment_url as Channel__comment_url, Channel_channels.comment_system_enabled as Channel__comment_system_enabled, Channel_channels.comment_require_membership as Channel__comment_require_membership, Channel_channels.comment_moderate as Channel__comment_moderate, Channel_channels.comment_max_chars as Channel__comment_max_chars, Channel_channels.comment_timelock as Channel__comment_timelock, Channel_channels.comment_require_email as Channel__comment_require_email, Channel_channels.comment_text_formatting as Channel__comment_text_formatting, Channel_channels.comment_html_formatting as Channel__comment_html_formatting, Channel_channels.comment_allow_img_urls as Channel__comment_allow_img_urls, Channel_channels.comment_auto_link_urls as Channel__comment_auto_link_urls, Channel_channels.comment_notify as Channel__comment_notify, Channel_channels.comment_notify_authors as Channel__comment_notify_authors, Channel_channels.comment_notify_emails as Channel__comment_notify_emails, Channel_channels.comment_expiration as Channel__comment_expiration, Channel_channels.search_results_url as Channel__search_results_url, Channel_channels.rss_url as Channel__rss_url, Channel_channels.enable_versioning as Channel__enable_versioning, Channel_channels.max_revisions as Channel__max_revisions, Channel_channels.default_entry_title as Channel__default_entry_title, Channel_channels.title_field_label as Channel__title_field_label, Channel_channels.url_title_prefix as Channel__url_title_prefix, Channel_channels.live_look_template as Channel__live_look_template, Channel_channels.max_entries as Channel__max_entries FROM (exp_layout_publish as ChannelLayout_layout_publish) LEFT JOIN exp_channels AS Channel_channels ON Channel_channels.channel_id = ChannelLayout_layout_publish.channel_id LIMIT 18446744073709551615

mysqli_connection.php:122

       
justred.ca's avatar
justred.ca
22 posts
7 years ago
justred.ca's avatar justred.ca

Quick update: I tried manually creating the column that the error is complaining about (status_group in exp_channels) - and then I got the same error about the field_group column. So I manually created that column as well and then the updater APPEARED to work & I was able to login to the CP again… but at the top of the CP, there’s an error saying:

“Your ExpressionEngine installation’s version (4.0.1) is not consistent with the reported version (3.5.6). Please update your installation of ExpressionEngine again.”

The “Please update…” text is a link… but it just goes to the same general upgrade docs (https://docs.expressionengine.com/v3/installation/update.html), which don’t even mention the error - let alone contain any information on how to actually resolve it.

       
James Mathias's avatar
James Mathias
225 posts
7 years ago
James Mathias's avatar James Mathias

Hi,

The instructions are asking you to copy certain files from the version 4 zip download, into your version 3 install. So the config never needs to move, as it’s not being overwritten or moved during the process.

I would recommend rolling back to your backup, and starting the process again https://docs.expressionengine.com/latest/installation/upgrade_from_3.x.html

If that doesn’t work, go ahead and send an email to [email protected] and we can take a closer look at things for you.

       
justred.ca's avatar
justred.ca
22 posts
7 years ago
justred.ca's avatar justred.ca

James,

Thanks, that did the trick - I didn’t notice that the instructions said to copy the files FROM the V4 install to the V3 install & assumed it was the other way around, mostly out of habit from doing V2 updates & V1 > V2 upgrades (not sure if V3 updates used the new process, since we largely skipped it due to a variety of issues).

That said, there was still a weird file path issue during the upgrade process - the first page of the installer was trying to load a JS file from the following path:

/system/themes/ee/asset/javascript/compressed/common.js

I checked and that file was located in /themes/ee/asset/javascript/compressed/common.js instead. Not sure if it was required for the upgrade process to work, but the initial page was unstyled - though copying the /themes/ folder into the /system/ folder seemed to fix that.

       

Reply

Sign In To Reply

ExpressionEngine Home Features Pro Contact Version Support
Learn Docs University Forums
Resources Support Add-Ons Partners Blog
Privacy Terms Trademark Use License

Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.