Allow direct undo for single or batch of changelog entries #6526

Closed
opened 2025-12-29 19:42:00 +01:00 by adam · 1 comment
Owner

Originally created by @DavidSouther on GitHub (Jun 2, 2022).

NetBox version

v3.2.4

Feature type

New functionality

Proposed functionality

The netbox changelog is excellent for auditing changes. Having a "Revert change" and "Revert Change Batch" button would allow rapid error recovery for a number of potential user-error destructive database changes.

On a Change details page, there would be a "Revert" button which would apply the opposite operation. On a Change List page, the list would have a batch select and batch-revert button.

Use case

User-error edits & deletes are a potential data issue. Allowing a quick and easy way to revert localized changes would be a useful rollback / data recovery strategy.

Database changes

None

External dependencies

None

Originally created by @DavidSouther on GitHub (Jun 2, 2022). ### NetBox version v3.2.4 ### Feature type New functionality ### Proposed functionality The netbox changelog is excellent for auditing changes. Having a "Revert change" and "Revert Change Batch" button would allow rapid error recovery for a number of potential user-error destructive database changes. On a Change details page, there would be a "Revert" button which would apply the opposite operation. On a Change List page, the list would have a batch select and batch-revert button. ### Use case User-error edits & deletes are a potential data issue. Allowing a quick and easy way to revert localized changes would be a useful rollback / data recovery strategy. ### Database changes None ### External dependencies None
adam added the type: feature label 2025-12-29 19:42:00 +01:00
adam closed this issue 2025-12-29 19:42:00 +01:00
Author
Owner

@jeremystretch commented on GitHub (Jun 2, 2022):

I'm afraid this isn't really feasible given how the object serialization works. An object's representation in the changelog doesn't convey its previous state with 100% accuracy, nor was this a design goal when it was implemented. There are many "background" fields and operations that NetBox performs which are opaque to the user and not conveyed in a change record. Attempting to blindly revert an object based on this data will quickly lead to at best validation errors and at worst database corruption.

@jeremystretch commented on GitHub (Jun 2, 2022): I'm afraid this isn't really feasible given how the object serialization works. An object's representation in the changelog doesn't convey its previous state with 100% accuracy, nor was this a design goal when it was implemented. There are many "background" fields and operations that NetBox performs which are opaque to the user and not conveyed in a change record. Attempting to blindly revert an object based on this data will quickly lead to at best validation errors and at worst database corruption.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#6526