Fix project deletion when there is a export available

Merged Stan Hu requested to merge sh-fix-project-deletion-with-export into master

Project deletions were failing with "Can't modify frozen hash" because:

  1. Project#remove_exports was being called in the after_destroy hook
  2. This would remove the file and update the ImportExportUpload entry
  3. ImportExportUpload#save would attempt to write to a destroyed model

To avoid this, we just check if ImportExportUpload has been destroyed before attempting to save it.

This would have a side effect of not running after_commit hooks to delete the repository on disk, making it impossible to delete the project entirely.

Closes #52362 (closed)

Merge request reports