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
Hi Enthusiast, I had that problem with a site a while back and in that case it was a hosting problem with IPv6, which didn't work properly on the server this site was on. I updated...
Error when trying to check for updates
Hi. Welcome to Backdrop. Out of the box, there are two places you can set visibility by user ID and they are related: The layout configure screen under "Visibility conditions" (admin/structure/...
Use visibility User by uid
Start with clean URLs, add Pathauto and Metatag modules, submit your XML sitemap to Google Search Console, and keep your content original and well-structured.
How to Improve SEO Performance in Backdrop CMS