4

I am on Civi 4.7.6 / Drupal 7.5

I have not been able to record any new phone numbers for some days (via Webform Integration).

I realize that I have lost a number of log_civicrm_... tables (those alphabetically beyond ..._payment_processor_type), and this can be the reason why.

Thus, I would like to disable logging (via Administer > System Settings >Misc (...) > Logging), but I get this error : "Save failed : DB Error : unknown error".

I assume that this error is due to those missing tables.

How can I get out of that ? (I am not a programmer)

...

As a matter of fact, I have an other Test Civicrm, where logging is disabled, and when I want to enable it, I get the same error, and there is no enabling.

Anything in relationship with Drupal ?

BTW, I have all privileges on thoses DBs

3
  • You might want to activate debug and backtrace (civicrm/admin/setting/debug?reset=1) so you could have more information about the error you get.
    – samuelsov
    Commented Sep 19, 2016 at 14:02
  • Does "I have not been able to record any new phone numbers for some days (via Webform Integration)" mean that you can update phone numbers directly on the civicrm record?
    – petednz - fuzion
    Commented Sep 19, 2016 at 21:22
  • @Jacques - please post any updates that aren't answers as comments or by updating your original question, not separate answers please :) You mention a DB error, but that's not much information. In CiviCRM, please go to Administer menu > System Settings > Debugging and Error Handling, select "Yes" to both "Enable Debugging" and "Display Backtrace", and press "Save". Repeat the problem that caused your error, and you'll see much a much more detailed error. Please update this question with the expanded error and backtrace - and don't forget to disable debugging/backtrace when you're done! Commented Sep 21, 2016 at 14:34

3 Answers 3

5

Fortunately, in CiviCRM 4.7 (and Civi 4.6.17+), installing ANY extension will recreate your missing logging tables. Not that enabling an extension isn't sufficient - you must install an extension. See CRM-15078

The reason this works: If advanced logging is enabled, extensions without a corresponding logging table will generate errors. Because an extension can add a table, there's a function that runs whenever an extension is installed called "fixSchemaDifferences". It checks for any tables without a corresponding logging table and generates it - whether or not that table was added by the extension or not.

3
  • That's the one I fixed at the sprint last year :)
    – DaveFF
    Commented Sep 20, 2016 at 18:50
  • You should also be able to call the Extension.install API on an extension that is already installed, if you just want to fix the logging tables.
    – DaveFF
    Commented Sep 20, 2016 at 18:52
  • overheard on chat.civicrm.org - the System.flush API has a triggers parameter, so: drush cvapi System.flush triggers=1 Commented Mar 7, 2017 at 0:47
1

I close this question here : things are a bit more complicated : I report a more extended question here :

https://civicrm.stackexchange.com/questions/15062/help-lots-of-troubles-malfunctions-errors-civi-4-7-6-and-4-7-11-dru

Thanks anyway

1

2019 UPDATE - In case anyone finds this question there is an answer at Civi 5.9 - DB Error: no such table / cannot disable logging

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.