1

In upgrading from civi 5.14.2 to 5.15.0, the SQL update fails. In civi log, I get:

Jul 08 09:48:13 [info] Running task: Cleanup old files Jul 08 09:48:13 [info] Running task: Checking extensions Jul 08 09:48:14 [info] Running task: Begin Upgrade to 5.15.alpha1 Jul 08 09:48:15 [info] Running task: Upgrade DB to 5.15.alpha1 Jul 08 09:48:15 [info] Running task: Upgrade DB to 5.15.alpha1: SQL Jul 08 09:48:16 [info] Running task: Fix errant deferred revenue settings

And then sql update dies and nothing else in log.

Relevant environment settings:

Database Version 5.5.5-10.0.38-MariaDB Database Connection Collation utf8mb4_general_ci PHP Version 7.2.19

Any suggestions?

Here's the error log from civiCRM:

https://drive.google.com/file/d/1y4NWik-4fVWjflifgOIGsSXiU3NN0S2O/view?usp=sharing

And this is the on-screen error: enter image description here

And here's a video walkthrough of the upgrade process, including which steps fail during the DB update:

https://drive.google.com/file/d/15MonHfW2TW_RbfhvbY2FIdB2Uao7poSH/view?usp=drivesdk

  • Could you please check your log file in the ConfigAndLog directory? There's likely to be a SQL error and backtrace. Please update your question with whatever you find! – Jon G - Megaphone Tech Jul 8 at 23:14
  • I've added the error log -- there are only six lines in it. Also added screenshot of on-screen error message. – A. Block Jul 9 at 3:00
  • I just enabled full Debugging in civiCRM, which then gives the option to skip queries that trigger errors. I skipped several errors, which are recorded in the attached error log above -- the update then "completed", but I'm concerned why some of these queries failed... and has my update really been successful? – A. Block Jul 9 at 3:07
  • Your error log doesn't indicate which ones you skipped? – Jon G - Megaphone Tech Jul 9 at 14:00
  • I've added a video walk-through of the update process, showing stop points in the DB update. – A. Block Jul 9 at 14:14
1

I see from your video that you're failing on the 5.15.alpha1 SQL, and on.

The first one has two SQL statements. Essentially, the statuses for a contribution ("Pending", "Complete", etc.) and for recurring contributions have been the same - but moving forward they'll each have their own list. The two SQL statements create an option group along with values to support this.

Run this SQL: select id, name from civicrm_option_group WHERE name = 'contribution_recur_status';

You should get back one result. If you have no results, that's a problem:

+-----+---------------------------+
| id  | name                      |
+-----+---------------------------+
| 138 | contribution_recur_status |
+-----+---------------------------+

Then run this SQL: select cov.id, cov.option_group_id, cov.name, cov.label, cov.value from civicrm_option_value cov JOIN civicrm_option_group cog ON cov.option_group_id = cog.id WHERE cog.name = 'contribution_recur_status';

You should get back some number of results - I get 12, you may have more:

+------+-----------------+----------------+----------------+-------+
| id   | option_group_id | name           | label          | value |
+------+-----------------+----------------+----------------+-------+
| 1884 |             138 | Completed      | Completed      | 1     |
| 1885 |             138 | Pending        | Pending        | 2     |
| 1886 |             138 | Cancelled      | Cancelled      | 3     |
| 1887 |             138 | Failed         | Failed         | 4     |
| 1888 |             138 | In Progress    | In Progress    | 5     |
| 1889 |             138 | Overdue        | Overdue        | 6     |
| 1890 |             138 | Refunded       | Refunded       | 7     |
| 1891 |             138 | Partially paid | Partially paid | 8     |
| 1892 |             138 | Pending refund | Pending refund | 9     |
| 1893 |             138 | Chargeback     | Chargeback     | 10    |
| 1899 |             138 | Processing     | Processing     | 11    |
| 1900 |             138 | Failing        | Failing        | 12    |
+------+-----------------+----------------+----------------+-------+

You're also failing on "Fix cache key column name in prev next cache". That's trying to run this SQL, so also run this command manually: ALTER TABLE civicrm_prevnext_cache CHANGE COLUMN cacheKey cachekey VARCHAR(255) COMMENT 'Unique path name for cache element of the searched item';

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.