Description of the need
Odds are that some day someone will mess with active config directory by either improperly editing files or getting them deleted. And it won't be a trivial task to bring such a broken website back to functional state in case if no backups were taken to restore from.
Proposed solution
What if Backdrop could take a snapshot of the configuration directory on each cron and keep it updated and saved in the database, and use it to re-create configuration directory content in case if it is missing or broken?
Real-life case
Some relevant quotes from real-life case on Gitter of November 17, 2019 4:28 PM:
@alanmels: @serundeputy, this made me think: why don't we keep a snapshot of config files in DB just in case if the directory or some config files get deleted?
@serundeputy: maybe not a bad idea; prolly experiment w/ a contrib module and if it is working well and proven we could make a case for core i think there may be a core issue already about autobackups already; so we should read what is in there too
The closest one I could find in core issues is probably https://github.com/backdrop/backdrop-issues/issues/2409, but its subject is different. So I've decided to create a new feature request just in case if it's worth considering and implementing.
Recent comments
@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
Thanks, I have to go out now, I will try later on and report back
Importing the staged config throws an error: another field with the same name already exists
Hi Francis. Yes, what config do you have in staging for it? You might have configs like: field.field.field_video_embed field.instance.node.page....
Importing the staged config throws an error: another field with the same name already exists