Upgrading from 7.14.6 to 8.7.1 failed during legecy-post-upgrade

Hi ! I’m working on a SuiteCrm instance and trying to upgrade SuiteCRM from version 7.14.6 to version 8.7.1.

On a linux server, with PHP8.2.
Using SuiteCRM translated in french with a few custom modules and fields.

I have been looking through the forum for a few weeks and still have some issues I can’t find the answers to.

First about translation ? Is there a new translation for SuiteCrm 8, because for all I can see the migration breaks a lot of my current translations.

I tried several times to follow the upgrade process, and mostly failed at step 2.7. (Run the post upgrade command).
It results in a “failed” status, with message
"Unexpected error running Legacy Post Upgrade
Unauthorized access to administration . "


I did manage to get a “succeed” status once but I can’t reproduce what I did differently, and there were the same bugs afterward…

The issue is that I can’t find anything of use in the logs:
logs/upgrade.log :

logs/prod/upgrade.log

I can still access and log into my site and see the menu bar and most modules, except some icons that are missing
But I cannot see the home page (links in menu are inactive, and when using url, the body of the page is blank).
I can access the admin page, but none of the functionnalities are working (blank page)

Note that the company only uses the CRM in French, but I made sure to create translations into english to everything to avoid bugs (and suitecrm 7.14 works both in english and french).

Admin page when loading with english language

But when logging with language = French, I see the items, but they lead to blank pages.

I did the same process in dev mode, hoping to get more info…
SuiteCRM show an internal server error, with no logs in php_errors.log
In legacy/suitecrm.log I get mysql errors like this one :

Tue Jan 21 16:07:47 2025 [1183651][5f1cb850-6fa7-c7ed-6a17-5ef36229cb44][FATAL]  Query Failed:  SELECT  alerts.id , alerts.modified_user_id , alerts.created_by , alerts.assigned_user_id , alerts.name , alerts.date_entered , alerts.date_modified  , jt0.user_name modified_by_name , jt0.created_by modified_by_name_owner  , 'Users' modified_by_name_mod , jt1.user_name created_by_name , jt1.created_by created_by_name_owner  , 'Users' created_by_name_mod, alerts.description , alerts.deleted  , jt2.user_name assigned_user_name , jt2.created_by assigned_user_name_owner  , 'Users' assigned_user_name_mod, alerts.is_read , alerts.target_module , alerts.type , alerts.url_redirect , alerts.reminder_id , alerts.snooze , alerts.date_start  FROM alerts   LEFT JOIN  users jt0 ON alerts.modified_user_id=jt0.id AND jt0.deleted=0

 AND jt0.deleted=0  LEFT JOIN  users jt1 ON alerts.created_by=jt1.id AND jt1.deleted=0

 AND jt1.deleted=0  LEFT JOIN  users jt2 ON alerts.assigned_user_id=jt2.id AND jt2.deleted=0

 AND jt2.deleted=0 where ((alerts.assigned_user_id like '%5f1cb850-6fa7-c7ed-6a17-5ef36229cb44%') AND (alerts.snooze <= '2025-01-21 16:07:47' OR alerts.snooze IS NULL )) AND alerts.deleted=0 ORDER BY alerts.snooze DESC LIMIT 0,6: MySQL error 1054: Unknown column 'alerts.snooze' in 'field list'
Tue Jan 21 16:07:47 2025 [1183651][5f1cb850-6fa7-c7ed-6a17-5ef36229cb44][DEPRECATED] Array
(
)

Tue Jan 21 16:07:47 2025 [1183651][5f1cb850-6fa7-c7ed-6a17-5ef36229cb44][INFO] Query:SELECT count(*) as unread FROM alerts   LEFT JOIN  users jt0 ON alerts.modified_user_id=jt0.id AND jt0.deleted=0

 AND jt0.deleted=0  LEFT JOIN  users jt1 ON alerts.created_by=jt1.id AND jt1.deleted=0

 AND jt1.deleted=0  LEFT JOIN  users jt2 ON alerts.assigned_user_id=jt2.id AND jt2.deleted=0

 AND jt2.deleted=0 where ((alerts.assigned_user_id like '%5f1cb850-6fa7-c7ed-6a17-5ef36229cb44%' ) AND ( (alerts.is_read IS NULL OR alerts.is_read = '') OR alerts.is_read in ('0')) AND (alerts.snooze <= '2025-01-21 16:07:47' OR alerts.snooze IS NULL )) AND alerts.deleted=0 ORDER BY alerts.date_entered DESC LIMIT 0,21
Tue Jan 21 16:07:47 2025 [1183651][5f1cb850-6fa7-c7ed-6a17-5ef36229cb44][FATAL] Mysqli_query failed.
Tue Jan 21 16:07:47 2025 [1183651][5f1cb850-6fa7-c7ed-6a17-5ef36229cb44][INFO] Query Execution Time:0.00015997886657715
Tue Jan 21 16:07:47 2025 [1183651][5f1cb850-6fa7-c7ed-6a17-5ef36229cb44][FATAL]  Query Failed: SELECT count(*) as unread FROM alerts   LEFT JOIN  users jt0 ON alerts.modified_user_id=jt0.id AND jt0.deleted=0

 AND jt0.deleted=0  LEFT JOIN  users jt1 ON alerts.created_by=jt1.id AND jt1.deleted=0

 AND jt1.deleted=0  LEFT JOIN  users jt2 ON alerts.assigned_user_id=jt2.id AND jt2.deleted=0

 AND jt2.deleted=0 where ((alerts.assigned_user_id like '%5f1cb850-6fa7-c7ed-6a17-5ef36229cb44%' ) AND ( (alerts.is_read IS NULL OR alerts.is_read = '') OR alerts.is_read in ('0')) AND (alerts.snooze <= '2025-01-21 16:07:47' OR alerts.snooze IS NULL )) AND alerts.deleted=0

I’d like to perform some repairs post-migration but I can’t access repair page.

As for the missing icons, In the web console I see there are some issues with theme images, don’t know how that happened or if it’s a real bug, but I will try to replace my theme folder…

Do you have any idea of what could be wrong ? Sorry it’s a lot but I have been looking for some time now.

Have you make sure all file permissions and ownership are on place?

Set the required permissions

If you are using the terminal you can do this by running:

find . -type d -not -perm 2755 -exec chmod 2755 {} \;
find . -type f -not -perm 0644 -exec chmod 0644 {} \;
find . ! -user www-data -exec chown www-data:www-data {} \;
chmod +x bin/console

Please have in mind that:

  • The user and group name (in the above example www-data ) needs to be replaced by the actual system user and group that your webserver runs under. This varies depending on your operating system. Common web server users are as follows:

    • www-data (Ubuntu Linux/Apache)
    • apache (Linux/Apache)


you need to clear symfony cache

./bin/console cache:clear

Yes I already reset the permissions and cleared symfony cache, it does’nt solve anything

That’s weird! you can check this error on the forum.