0

I just tried to update a CiviCRM 5.47.4 installation to the latest 5.51.0 and I am getting this error during the database upgrade process.

Once the upgrade failed I reset both the filesystem and database back to where it was before I had started. So I'm back in 5.47.4. But I don't have a way to go back any farther than that. It was the first time I attempted this upgrade and I'm hoping someone can help me with what I need to do so the upgrade will be able to succeed when I try it again.

I do not see an is_autorun field in my civicrm_queue table so if that was supposed to be created I suppose something failed along the way that I was unaware of.

Error Field Error Value Type DB_Error Code -19 Message DB Error: no such field Mode 16 UserInfo UPDATE civicrm_queue SET runner = "task" WHERE is_autorun = 1 [nativecode=1054 ** Unknown column 'is_autorun' in 'where clause'] DebugInfo UPDATE civicrm_queue SET runner = "task" WHERE is_autorun = 1 [nativecode=1054 ** Unknown column 'is_autorun' in 'where clause']

PEAR_Exception: DB Error: no such field in /home/kepw/www/www/wp-content/plugins/civicrm/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php on line 922

  • DB_Error: DB Error: no such field in unknown on line unknown
6
  • Is this a site where you tried the upgrade more than once? You can get that error if running thru the 5.48 steps again without doing a complete drop and restore from backup before rerunning.
    – Demerit
    Jul 8, 2022 at 20:25
  • If not, are you able to see from a backup what your civicrm_queue table looked like in 5.47? There should be a line in the backup file starting with CREATE TABLE civicrm_queue
    – Demerit
    Jul 8, 2022 at 20:27
  • Once the upgrade failed I reset both the filesystem and database back to where it was before I had started. So I'm back in 5.47.4. But I don't have a way to go back any farther than that. I see the civicrm_queue table. It was the first time I attempted this upgrade.
    – Joshua K
    Jul 11, 2022 at 16:05
  • @Demerit I've updated this question and am hoping you'll have more input for me. Thanks!
    – Joshua K
    Jul 13, 2022 at 0:27
  • I don't know how it would be possible to have a 5.47 backup that had never gone past 5.48 that has a civicrm_queue table but doesn't have is_autorun. The only thing I can think is a sequence of failed upgrades that included some 5.48. Since you probably don't have anything in civicrm_queue, try drop table civicrm_queue, then create it using github.com/civicrm/civicrm-core/blob/… (leave out the utf8mb4 if your database is only utf8), then run the upgrade.
    – Demerit
    Jul 13, 2022 at 13:52

1 Answer 1

0

As per comments, possibly there was a sequence of failed upgrades and restore where the restore to 5.47 ended up with some changes from 5.48. Fixed in this case by drop table civicrm_queue, recreating with https://github.com/civicrm/civicrm-core/blob/4cbeb3a31baea58d44813905e3b131b4ae26bfea/CRM/Upgrade/Incremental/sql/5.47.alpha1.mysql.tpl#L3-L11, and then running the upgrade.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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