Description of the need
According to what @jenlampton suggested in https://github.com/backdrop/backdrop-issues/issues/2355 the config_clear() wrapper was introduced as the equivalent of variable_del(), which was also confirmed by @quicksketch' comment:
I would also avoid any abbreviation, "del" was used I imagine because it made "pretty" function names that were all the same length: variable_get/set/del. If we were to have wrappers for the delete method as well, I would be in favor of naming it
config_delete()(in addition toconfig_clear()for removing a single value).
However, if variable_del() did work well for cleaning all the database entries upon deletion of modules on Drupal 7, in Backdrop we have not only database entries, but actual configuration files. So implementing the hook_uninstall() in module_name.install file as, for example:
/**
* Implements hook_uninstall().
*/
function mymodule_index_uninstall() {
config_clear('mymodule.settings', 'mymodule_content_types');
}
only clears configuration entries in the respective file, it does not delete the file itself.
Proposed solution
I am filing this as a feature request in case if the config_clear() wrapper was never meant for deleting the config files, but only for clearing entries in config files. In this case, I suggest to introduce new config_delete() wrapper to actually delete the config files when modules get uninstalled.
In case if the config_clear() was meant not only delete the configuration lines, but also/instead delete the configuration files, then this should be re-classified as a bug report.
Until this issue is addressed the following code takes care of the configuration file:
/**
* Implements hook_uninstall().
*/
function $mymodule_uninstall() {
config('mymodule.settings')->delete();
}
Recent comments
well @herb I cannot believe it, but the webform module was there in modules on the disc, but missing in the listed modules, so I delete the module folder, and downloaded it again. Then...
My Webform Worksheets have disappeared
The only thing I can think of is to make sure Webform module is enabled and that the content type that needs to contain the webforms has Webform enabled for it. Edit the content type and make...
My Webform Worksheets have disappeared
@yorkshirepudding, In the end I fixed it by deleting the config/active folder contents, copying the config/staging/ files into config/active, importing the database again and clearing the caches...
Importing the staged config throws an error: another field with the same name already exists