8.4.0 Uprgade Fails
Permalink
Trying to upgrade from 8.3.1 to 8.4.0 and get this message on the update
An unexpected error occurred.
Cannot override final method Concrete\Core\Updater\Migrations\AbstractMigration::up()
Same on two sites
Did 4 other sites from 8.3.2 to 8.4.0 and no problems
An unexpected error occurred.
Cannot override final method Concrete\Core\Updater\Migrations\AbstractMigration::up()
Same on two sites
Did 4 other sites from 8.3.2 to 8.4.0 and no problems
How did you upgrade concrete5? Replacing the concrete directory?
All where done with softaculous, on TMDHosting Service.
I go the same error when I tried to go from 8.3.1 to 8.3.2, spent hours with TMDHosting and they said it was a Concrete5 Issue, so I hoped that 8.4.0 would over come the problem.
To see what's going wrong we'd need the contents of the /concrete directory, the /updates directory and (if they exist) the /composer.json and /composer.lock files.
These files shouldn't contain any sensitive data, so you can post here a zip file containing them. Of course if you prefer you can send me a private message.
These files shouldn't contain any sensitive data, so you can post here a zip file containing them. Of course if you prefer you can send me a private message.
@captshaw sent me the concrete directory via a PM.
BTW that directory contains very malformed files. It seems that the upgrade procedure of softaculous is really broken: the concrete directory contains files from older versions that have been removed in newer versions, and some other files have not been updated to the recent versions.
What I'd do is:
1. delete the /concrete directory
2. delete the /composer.json and /composer.lock files
3. download concrete5 8.4.0 ZIP archive from the concrete5.org website
4. extract from it the /concrete directory and the /composer.json and /composer.lock files
5. upload those 3 elements to the web server
That would solve the problem. BTW someone should contact softaculous about this issue...
BTW that directory contains very malformed files. It seems that the upgrade procedure of softaculous is really broken: the concrete directory contains files from older versions that have been removed in newer versions, and some other files have not been updated to the recent versions.
What I'd do is:
1. delete the /concrete directory
2. delete the /composer.json and /composer.lock files
3. download concrete5 8.4.0 ZIP archive from the concrete5.org website
4. extract from it the /concrete directory and the /composer.json and /composer.lock files
5. upload those 3 elements to the web server
That would solve the problem. BTW someone should contact softaculous about this issue...
I'm also planning to use Softaculous to upgrade from 8.3.2 to 8.4.0.
@captshaw said that were no problems with the upgrade on 4 of his sites but I wonder if the upgrade script is doing 100% the right thing.
If possible, I kindly ask @captshaw and @mlocati to also check the concrete folder from a site that went from 8.3.2 to 8.4.0.
Thanks.
@captshaw said that were no problems with the upgrade on 4 of his sites but I wonder if the upgrade script is doing 100% the right thing.
If possible, I kindly ask @captshaw and @mlocati to also check the concrete folder from a site that went from 8.3.2 to 8.4.0.
Thanks.
> If possible, I kindly ask @captshaw and @mlocati to also check the concrete folder from a site that went from 8.3.2 to 8.4.0.
It's quite easy: simply download the /concrete folder from your website (or the 8.4.0 folder in /updates folder if present), and compare it with the one you can download fromhttp://www.concrete5.org.
To compare folders you can use WinMerge (on Windows) FileMerge (on Mac) or Meld.
It's quite easy: simply download the /concrete folder from your website (or the 8.4.0 folder in /updates folder if present), and compare it with the one you can download fromhttp://www.concrete5.org.
To compare folders you can use WinMerge (on Windows) FileMerge (on Mac) or Meld.
Oh, I did not update my site yet. I can not afford a site outage during this week and the next one - it's the site of the company I work for and it must be accessible, at least during daytime. Eventually, I will get to update the site at the end of this month.
For now, I was hoping that @captshaw will provide you with the concrete folder from one of the working sites he updated from 8.3.2 to 8.4.0, if it's not too much trouble.
Or, if the upgrade for 4 of his sites went well, can assume that the Softaculous update script is working properly?
I searched today the Softaculous forums but didn't find anything C5 related...
Thanks.
For now, I was hoping that @captshaw will provide you with the concrete folder from one of the working sites he updated from 8.3.2 to 8.4.0, if it's not too much trouble.
Or, if the upgrade for 4 of his sites went well, can assume that the Softaculous update script is working properly?
I searched today the Softaculous forums but didn't find anything C5 related...
Thanks.
@mlocati, I finally did the upgrade from 8.3.2 to 8.4.0 using Softaculous.
The site is functional but I followed your advice and compared the live /concrete with original /concrete using Meld and it seems that there are some leftovers (they appear green on live and strikeout on original).
If I send you both live 8.4.0 and original 8.4.0 /concrete folders, could you please take a look?
The site is functional but I followed your advice and compared the live /concrete with original /concrete using Meld and it seems that there are some leftovers (they appear green on live and strikeout on original).
If I send you both live 8.4.0 and original 8.4.0 /concrete folders, could you please take a look?
@captshaw already sent me the concrete directory via a PM, and I already verified that there were problems.
I contacted the concrete5 core team, and I think that they should have already fixed the Softaculous issue.
If you send me the files, what I'd do is simply check if the /concrete directory is exactly the same as the one contained in the official concrete5 distribution available athttps://www.concrete5.org/developers/developer-downloads... (an operation that you too can do).
In case of differences (missing files, extra files, different files), I'd contact Andrew athttps://www.concrete5.org/profile/-/4... (an operation that you too can do).
I contacted the concrete5 core team, and I think that they should have already fixed the Softaculous issue.
If you send me the files, what I'd do is simply check if the /concrete directory is exactly the same as the one contained in the official concrete5 distribution available athttps://www.concrete5.org/developers/developer-downloads... (an operation that you too can do).
In case of differences (missing files, extra files, different files), I'd contact Andrew athttps://www.concrete5.org/profile/-/4... (an operation that you too can do).
Ok, I will contact Andrew.
Thanks.
Thanks.
I wrote to Andrew.
The differences are related to these folders only - they contain some of the 8.3.2 files.along with the new 8.4.0 ones
The differences are related to these folders only - they contain some of the 8.3.2 files.along with the new 8.4.0 ones
concrete\blocks\google_map
concrete\controllers\single_page\dashboard\reports
concrete\js\build\core\app
concrete\js\build\core\image-editor\build
concrete\js\fullcalendar
concrete\js\fullcalendar\lang
concrete\single_pages\dashboard\reports
concrete\src\Updater\Migrations
concrete\tools\dashboard
concrete\tools\users
concrete\vendor\league\flysystem
concrete\vendor\league\flysystem\docs
concrete\vendor\league\flysystem\docs\_data
concrete\vendor\league\flysystem\docs\_layouts
concrete\vendor\league\flysystem\docs\adapter
Viewing 15 lines of 20 lines. View entire code block.
By the way, how can I verify if the database migration went well?
Thanks.
Thanks.
Every migration has a unique numeric identifier (which represents a date/time, like 20180716122130, which can be read as 2018-07-16 12:21:30).
The whole list of migrations is stored in the /concrete/src/Updater/Migrations/Migrations directory
The identifier of the last applied migration is stored in the /application/config/generated_overrides/concrete.php file with the key version_db_installed
When concrete5 applies a migration, it also saves the migration identifier to the SystemDatabaseMigrations database table.
The whole list of migrations is stored in the /concrete/src/Updater/Migrations/Migrations directory
The identifier of the last applied migration is stored in the /application/config/generated_overrides/concrete.php file with the key version_db_installed
When concrete5 applies a migration, it also saves the migration identifier to the SystemDatabaseMigrations database table.
The latest file in /concrete/src/Updater/Migrations/Migrations is Version20180524000000.php
The last record in SystemDatabaseMigration is 20180524000000
The concrete.php in generated_overrides contains 'version_db_installed' => '20180524000000',
So I believe all went well...
I asked because I don't know what database migration supposed to do...
I thought maybe some tables' schema get modifed (adding/removing fields).
Anyway, thank you for the help and for your time
The last record in SystemDatabaseMigration is 20180524000000
The concrete.php in generated_overrides contains 'version_db_installed' => '20180524000000',
So I believe all went well...
I asked because I don't know what database migration supposed to do...
I thought maybe some tables' schema get modifed (adding/removing fields).
Anyway, thank you for the help and for your time
I will try this as soon as I get a chance, Thank you.
This appears to be working, still doing some testing to make sure.
Thanks for all the help.
Thanks for all the help.
I have found so far every thing working, thanks for all the help.
I am wondering if softaculous has fixed their issues with upgrading Concrete5?
This comes to mind now that Concrete5 8.4.1 has come out, is it safe to use, or should I wait for Concrete5 to implement it's own internal update?
This comes to mind now that Concrete5 8.4.1 has come out, is it safe to use, or should I wait for Concrete5 to implement it's own internal update?
I read couple of days ago that a workaround for Softaculous issues is to manually update by replacing /concrete directory, composer.json and composer.lock and after migration to run Softaculous script to update it's database (otherwise it will still indicate it's a new version available).
I'm thinking about doing this for the 8.4.0 -> 8.4.1 update...
I'm thinking about doing this for the 8.4.0 -> 8.4.1 update...
FYI: I just submitted a Ticket to softaculous to see what they have to say about the situation.
Hi,
I am from the Softaculous team.
We will discuss with the Concrete 5 team regarding the method we should use to upgrade and will update the package as well.
Sorry for the inconvenience caused.
I am from the Softaculous team.
We will discuss with the Concrete 5 team regarding the method we should use to upgrade and will update the package as well.
Sorry for the inconvenience caused.
Hi,
I am from Softaculous team.
We discussed with the Concrete5 team and arrived to the conclusion that the concrete folder needs to be deleted first and then the updated concrete directory needs to be placed in the installation directory.
In our case we missed on deleting that directory which may be causing the issue.
However we have just released the fix at Softaculous and shall first delete the directory followed replacing the same with the updated one.
We deeply regret the inconvenience caused to you because of this.
You can execute the below mentioned CRON command via root SSH to your server in order to fetch the updated package :
http://softaculous.com/docs/Immediate_Synchronize_with_Softaculous_...
If you do not have root access to your server, you can wait for 24 hours and the package shall be downloaded automatically.
Also if you want any kind of assistance from us, you can always contact us via our support ticket and we shall revert you as soon as possible.
https://www.softaculous.com/support/...
Let us know.
I am from Softaculous team.
We discussed with the Concrete5 team and arrived to the conclusion that the concrete folder needs to be deleted first and then the updated concrete directory needs to be placed in the installation directory.
In our case we missed on deleting that directory which may be causing the issue.
However we have just released the fix at Softaculous and shall first delete the directory followed replacing the same with the updated one.
We deeply regret the inconvenience caused to you because of this.
You can execute the below mentioned CRON command via root SSH to your server in order to fetch the updated package :
http://softaculous.com/docs/Immediate_Synchronize_with_Softaculous_...
If you do not have root access to your server, you can wait for 24 hours and the package shall be downloaded automatically.
Also if you want any kind of assistance from us, you can always contact us via our support ticket and we shall revert you as soon as possible.
https://www.softaculous.com/support/...
Let us know.
Thanks, this is great.
I use TMDHosting and have contacted them to find out when they will update their Softaculous
I use TMDHosting and have contacted them to find out when they will update their Softaculous
Hi @captshaw,
Sure the scripts do get updated automatically every 24 hours via Softaculous CRON.
Let us know.
Sure the scripts do get updated automatically every 24 hours via Softaculous CRON.
Let us know.
Thanks everyone.
I used Softaculous to update 5 sites and found no problems.
I used Softaculous to update 5 sites and found no problems.
Hi @captshaw,
Glad to know that you were able to upgrade your Concrete5 installation via Softaculous.
Thank you for your kind confirmation.
Glad to know that you were able to upgrade your Concrete5 installation via Softaculous.
Thank you for your kind confirmation.