1

I'm following the methodology at https://docs.civicrm.org/sysadmin/en/latest/misc/switching-cms/drupal-to-wordpress/ to migrate from Drupal to WordPress. After importing the database tables to the WordPress site, I get the error DB Error: no such table in the browser when I try to access the CiviCRM front page.

In the wp-content/uploads/civicrm/ConfigAndLog/CiviCRM.f00.log, I see the following:

Sep 06 22:24:15  [error] $Fatal Error Details = Array
(
    [callback] => Array
        (
            [0] => CRM_Core_Error
            [1] => handle
        )

    [code] => -18
    [message] => DB Error: no such table
    [mode] => 16
    [debug_info] => INSERT INTO civicrm_setting (`component_id`,`contact_id`,`created_date`,`created_id`,`domain_id`,`id`,`is_domain`,`name`,`value`) VALUES
(NULL,NULL,"20200906222415",NULL,"1",NULL,"1","wpLoadPhp","s:34:\"/home/singersin/www/wp/wp-load.php\";")
 [nativecode=1146 ** Table 'singersin_wp1234.log_civicrm_setting' doesn't exist]
    [type] => DB_Error
    [user_info] => INSERT INTO civicrm_setting (`component_id`,`contact_id`,`created_date`,`created_id`,`domain_id`,`id`,`is_domain`,`name`,`value`) VALUES
(NULL,NULL,"20200906222415",NULL,"1",NULL,"1","wpLoadPhp","s:34:\"/home/singersin/www/wp/wp-load.php\";")
 [nativecode=1146 ** Table 'singersin_wp1234.log_civicrm_setting' doesn't exist]
    [to_string] => [db_error: message="DB Error: no such table" code=-18 mode=callback callback=CRM_Core_Error::handle prefix="" info="INSERT INTO civicrm_setting (`component_id`,`contact_id`,`created_date`,`created_id`,`domain_id`,`id`,`is_domain`,`name`,`value`) VALUES
(NULL,NULL,"20200906222415",NULL,"1",NULL,"1","wpLoadPhp","s:34:\"/home/singersin/www/wp/wp-load.php\";")
 [nativecode=1146 ** Table 'singersin_wp1234.log_civicrm_setting' doesn't exist]"]
)

What puzzles me: why is it looking for a table called log_civicrm_setting when it's doing INSERT INTO civicrm_setting? There is a table called civicrm_setting, all CiviCRM tables are prefixed with civicrm_ in this installation.

3

This is down to the fact that you probably have logging turned on in your Drupal environment. So the easiest thing to do would be to turn it off before you migrate and turn it back on in Wordpress (Administer -> Misc -> Logging). If you cant do that (or it still doesn't work) then you have a couple of 'hacks' to make get to the point that you can at least get to the settings, including dropping the database triggers on the settings table, and any subsequent tables, until you get to the home page and to the logging page. But I would turn off at the source, thats the easiest approach.

| improve this answer | |
  • Excellent, thanks for offering a couple different routes. Turning it off at the source did work. – Ken Williams Sep 7 at 19:12

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.