This is on CiviCRM 4.7.13 and WP 4.6.1.
I can add custom fields and custom data sets, but any attempt to delete a custom field hangs and does not complete. The log then contains this:
Nov 05 11:47:00 [info] $Fatal Error Details = Array ( [callback] => Array ( [0] => CRM_Core_Error [1] => handle ) [code] => -3 [message] => DB Error: constraint violation [mode] => 16 [debug_info] => DELETE FROM civicrm_custom_field WHERE ( civicrm_custom_field.id = 10 ) [nativecode=1451 ** Cannot delete or update a parent row: a foreign key constraint fails (`yfc_civicrm`.`civicrm_custom_value`, CONSTRAINT `FK_civicrm_custom_value_custom_field_id` FOREIGN KEY (`custom_field_id`) REFERENCES `civicrm_custom_field` (`id`))] [type] => DB_Error [user_info] => DELETE FROM civicrm_custom_field WHERE ( civicrm_custom_field.id = 10 ) [nativecode=1451 ** Cannot delete or update a parent row: a foreign key constraint fails (`yfc_civicrm`.`civicrm_custom_value`, CONSTRAINT `FK_civicrm_custom_value_custom_field_id` FOREIGN KEY (`custom_field_id`) REFERENCES `civicrm_custom_field` (`id`))] [to_string] => [db_error: message="DB Error: constraint violation" code=-3 mode=callback callback=CRM_Core_Error::handle prefix="" info="DELETE FROM civicrm_custom_field WHERE ( civicrm_custom_field.id = 10 ) [nativecode=1451 ** Cannot delete or update a parent row: a foreign key constraint fails (`yfc_civicrm`.`civicrm_custom_value`, CONSTRAINT `FK_civicrm_custom_value_custom_field_id` FOREIGN KEY (`custom_field_id`) REFERENCES `civicrm_custom_field` (`id`))]"] ) Nov 05 11:47:00 [info] $backTrace = #0 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php(229): CRM_Core_Error::backtrace("backTrace", TRUE) #1 [internal function](): CRM_Core_Error::handle(Object(DB_Error)) #2 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/packages/PEAR.php(921): call_user_func((Array:2), Object(DB_Error)) #3 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/packages/DB.php(985): PEAR_Error->__construct("DB Error: constraint violation", -3, 16, (Array:2), "DELETE FROM civicrm_custom_field WHERE ( civicrm_custom_field.id = 10 ) [n...") #4 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/packages/PEAR.php(575): DB_Error->__construct(-3, 16, (Array:2), "DELETE FROM civicrm_custom_field WHERE ( civicrm_custom_field.id = 10 ) [n...") #5 [internal function](): PEAR->_raiseError(Object(DB_mysqli), NULL, -3, NULL, NULL, "DELETE FROM civicrm_custom_field WHERE ( civicrm_custom_field.id = 10 ) [n...", "DB_Error", TRUE) #6 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/packages/PEAR.php(224): call_user_func_array((Array:2), (Array:8)) #7 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/packages/DB/common.php(1905): PEAR->__call("raiseError", (Array:7)) #8 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/packages/DB/common.php(1905): PEAR->raiseError(NULL, -3, NULL, NULL, "DELETE FROM civicrm_custom_field WHERE ( civicrm_custom_field.id = 10 ) [n...", "DB_Error", TRUE) #9 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/packages/DB/mysqli.php(933): DB_common->raiseError(-3, NULL, NULL, NULL, "1451 ** Cannot delete or update a parent row: a foreign key constraint fails ...") #10 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/packages/DB/mysqli.php(403): DB_mysqli->mysqliRaiseError() #11 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/packages/DB/common.php(1216): DB_mysqli->simpleQuery("DELETE FROM civicrm_custom_field WHERE ( civicrm_custom_field.id = 10 ) ") #12 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/packages/DB/DataObject.php(2438): DB_common->query("DELETE FROM civicrm_custom_field WHERE ( civicrm_custom_field.id = 10 ) ") #13 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/packages/DB/DataObject.php(1449): DB_DataObject->_query("DELETE FROM civicrm_custom_field WHERE ( civicrm_custom_field.id = 10 ) ") #14 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Core/DAO.php(524): DB_DataObject->delete(FALSE) #15 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Core/BAO/CustomField.php(1128): CRM_Core_DAO->delete() #16 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Custom/Form/DeleteField.php(104): CRM_Core_BAO_CustomField::deleteField(Object(CRM_Core_DAO_CustomField)) #17 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php(431): CRM_Custom_Form_DeleteField->postProcess() #18 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Core/StateMachine.php(160): CRM_Core_Form->mainProcess() #19 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Next.php(61): CRM_Core_StateMachine->perform(Object(CRM_Custom_Form_DeleteField), "next", "Next") #20 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Next->perform(Object(CRM_Custom_Form_DeleteField), "next") #21 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Custom_Form_DeleteField), "next") #22 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(351): HTML_QuickForm_Page->handle("next") #23 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Custom/Page/Field.php(264): CRM_Core_Controller->run() #24 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(312): CRM_Custom_Page_Field->run((Array:5), NULL) #25 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(86): CRM_Core_Invoke::runItem((Array:14)) #26 /home/user/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(54): CRM_Core_Invoke::_invoke((Array:5)) #27 /home/user/wordpress/wp-content/plugins/civicrm/civicrm.php(1227): CRM_Core_Invoke::invoke((Array:5)) #28 [internal function](): CiviCRM_For_WordPress->invoke("") #29 /home/user/wordpress/wp-includes/plugin.php(524): call_user_func_array((Array:2), (Array:1)) #30 /home/user/wordpress/wp-admin/admin.php(222): do_action("toplevel_page_CiviCRM") #31 {main}
I'm concerned that the DB is mangled somehow. Any suggestions?
Edit: @Sleewok - Yes.
I have been working with the schema harmonizer and finding that it does not check the custom data tables. How does one determine if there are schema errors in custom data?