Deleting a database is too easy
alexjpwalker opened this issue · 1 comments
Problem to Solve
It's really very easy to hit "delete" (in Console or Studio; or calling 'delete' from a TypeDB client application) ... and, well, if you are, for instance, having both a development and a production DB, you might really want a bit of peace of mind that you're not about to accidentally delete prod.
Proposed Solution
There are various strategies we could use. For example, we could take inspiration from Google Cloud and implement "deletion protection" on a DB, which is an additional security layer that must be manually removed from a critical resource before it accepts deletion requests.
How useful is this in a multi-user system with permissions?
You wouldn't be logged in to as an administrator unless you were out there to create and delete databases. I wouldn't complicate things too much for UX here. We could add a confirmation dialog to console, as we have in studio. But if someone programatically deletes databases, they'll probably programatically remove the extra layer of protection as well.