Made me think of a potential improvement. Before I raise this at Github, just wanted to throw it out there and see how the community feels about it.
My suggestion is to add the following functions to the backup/restore tab/:
backup-verbose. This results in a text file, with one line for each object in the database.
restore-verbose. This function would read a text file, create objects in the db
init-db. clean the db.
This would give the enduser two powerful options: first, backup/init/rebuild the database, removing any corruption.
Also, as a spinoff, the user could manually add devices to the text file before rebuilding. Although this last function may need some more thinking, to prevent bad things happening...

Any thoughts?