QutEcoacoustics/baw-server

Deletion epic

Opened this issue · 0 comments

What happens when a record is deleted?

We currently mostly avoid dealing with this via soft deletes, but now that users can upload their own data there is a renewed need to properly be able to delete data.

There are huge flow on effects for deleting some models. Like: locked database for 60 seconds as millions of records are affected. The interactions between various data models are hugely complicated too.

Not all models need detailed consideration, but conservatively, any models that we currently have soft deletes enabled on need to be considered.

Specs need to cover:

  • soft-delete scenarios

  • permanent deletion scenarios

  • who is allowed to do what

  • how all dependent relations should be handled

  • and which data we keep regardless of record deletion (and how we resolve FK constraints).

  • Audio recording deletion

    • Spec written
    • Move audio option?
    • files on disk considered?
    • tested
  • Site deletion

    • spec written
    • tested
  • project/region deletion

    • spec written
    • tested
  • User deletion

    • spec written
    • tested
  • Analysis job deletion

    • Spec written (including audio event imports)
    • files on disk considered?
    • tested
  • Any other acts_as_paranoid models?