One of the user noticed the Summary Fields weren't being updated. Upon investigation I see that the triggers didn't exist anymore. My guess is an upgrade to 4.6.26 wiped them out. Unfortunately, I don't really know when they disappeared other than we had last payment dates of Jan 31. What's odd is the test environment still has the triggers. TTest was copied from production and upgraded. Than about a week later prod was upgraded.

The configuration page for Summary Fields showed the Contribution Table Triggers: Enabled. Funny since they didn't exist. I can see that the job for summary fields ran every hour without any errors.

Saving the configuration page and kicking off the job recreated them and seems have updated the fields.

The question here is why didn't the job notice the triggers were missing and why did it report there were enabled? Oh and I suppose what could have caused them to be deleted?

1 Answer 1


I had a similar experience when I cleaned out and reverted to a slightly earlier CiviCRM DB because we had made a goof (no need to elaborate on that). When I imported the desired backup, I had neither ANY triggers nor the MySQL routine civicrm_strip_non_numeric. We are running Wordpress 4.7.3 and Civi 4.7.16. I was able to recreate both the routine and the 27 triggers we use for our install by executing one of the functions for a typical site migration, namely: {$SITE_URL}/wp-admin/admin.php?page=CiviCRM&q=civicrm/menu/rebuild&reset=1&triggerRebuild=1

If you're running Drupal or Joomla, there's a similar invocation. I didn't quite understand how/why it worked, but glad I stumbled across it ;). Evidently, it not only recreates triggers if missing, but adds in the missing routine. Perhaps someone with a little more experience might weigh in. I was just about to pose a question to that effect when I stumbled on your post via a search for "trigger."

  • I ran the rebuilt triggers URL as they showed as Not Enabled and it had no effect. Still showing Not Enabled.
    – Andy Burns
    Commented May 4, 2020 at 19:43

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.