...
In the example above, we can see that the following tasks are run in order to upgrade to 4.5.0-b1:
- addProxySetting
- updateInvoiceTerms
- addPackageNames
- addPackageDescriptions
- addPackageGroupNames
- addPackageGroupDescriptions
If addProxySetting has already ran, then we can comment it out and run /admin/upgrade again in our browser. Then, check your database version again. If it's not at least 4.5.0-b1, then we may need to comment out the next task, updateInvoiceTerms and run /admin/upgrade again and check the database version again. Continue commenting out tasks ONE at a time and running /admin/upgrade until the upgrade is able to complete and shows the version of the most recent file in /components/upgrades/tasks/
...
Code Block | ||
---|---|---|
| ||
public function tasks() { return [ //'addProxySetting', 'updateInvoiceTerms', 'addPackageNames', 'addPackageDescriptions', 'addPackageGroupNames', 'addPackageGroupDescriptions', ]; } |
Errors During Upgrade
- I received this error during upgrade:
PDOException: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes in /var/www/html/vendors/minphp/db/src/PdoConnection.php:196 - This error occurs when the collation is updated from utf8 to utf8mb4 when a varchar 255 field has more than 767 bytes. In MySQL 5.7.7 and MariaDB 10.2.2, this value was increased to 3072 bytes. We would recommend upgrading your database and re-attempting the upgrade. As an alternative, you can try running this query prior to re-attempting an upgrade:
SET @@global.innodb_large_prefix = 1;
- I receive an error when upgrading through 5.8.0-b1:
SQLSTATE[22004]: Null value not allowed: 1138 Invalid use of NULL value in /vendors/minphp/db/src/PdoConnection.php:196 Stack trace: #0 /vendors/minphp/db/src/PdoConnection.php(196): PDOStatement->execute(Array) #1 /components/upgrades/tasks/upgrade5_8_1.php(87): Minphp\Db\PdoConnection->query('ALTER TABLE `co...') #2 /components/upgrades/tasks/upgrade5_8_1.php(54): Upgrade5_8_1->setContactPermissionClientId() #3 - This error may occur when running the setContactPermissionClientId task in /components/upgrades/tasks/blesta5_8_1.php to solve:
- Comment out the setContactPermissionClientId task in the upgrade file.
Run the following query on your database to resolve any orphaned records (BACKUP FIRST).
Code Block language sql DELETE contact_permissions.* from contact_permissions left join contacts on contact_permissions.contact_id = contacts.id where contacts.client_id is null;