docs: def delete(self):
          """Delete the persistent identifier.
  
          If the persistent identifier haven't been registered yet, it is
          removed from the database. Otherwise, it's marked as
          :attr:`invenio_pidstore.models.PIDStatus.DELETED`.
  
          :returns: `True` if the PID is successfully removed.
          """
          removed = False
          try:
              with db.session.begin_nested():
                  if self.is_new():
                      # New persistent identifier which haven't been registered
                      # yet.
                      db.session.delete(self)
                      removed = True
                  else:
                      self.status = PIDStatus.DELETED
                      db.session.add(self)
          except SQLAlchemyError:
              logger.exception("Failed to delete PID.", extra=dict(pid=self))
              raise
  
          if removed:
              logger.info("Deleted PID (removed).", extra=dict(pid=self))
          else:
              logger.info("Deleted PID.", extra=dict(pid=self))
          return True