Delete everything in a storage layout Named provocatively for a reason: can (and in fact intended to) cause irrecoverable loss of data. This can be used to: * Completely obliterate data from old WAL-E versions (i.e. layout.VERSION is an obsolete version)
(self)
| 393 | assert False |
| 394 | |
| 395 | def delete_everything(self): |
| 396 | """Delete everything in a storage layout |
| 397 | |
| 398 | Named provocatively for a reason: can (and in fact intended |
| 399 | to) cause irrecoverable loss of data. This can be used to: |
| 400 | |
| 401 | * Completely obliterate data from old WAL-E versions |
| 402 | (i.e. layout.VERSION is an obsolete version) |
| 403 | |
| 404 | * Completely obliterate all backups (from a decommissioned |
| 405 | database, for example) |
| 406 | |
| 407 | """ |
| 408 | for k in self._backup_list(prefix=self.layout.basebackups()): |
| 409 | self._maybe_delete_key(k, 'part of a base backup') |
| 410 | |
| 411 | for k in self._backup_list(prefix=self.layout.wal_directory()): |
| 412 | self._maybe_delete_key(k, 'part of wal logs') |
| 413 | |
| 414 | if self.deleter: |
| 415 | self.deleter.close() |
| 416 | |
| 417 | def delete_before(self, segment_info): |
| 418 | """ |
no test coverage detected