silverstripe / silverstripe-versioned

Versioning for Silverstripe model
BSD 3-Clause "New" or "Revised" License
8 stars 34 forks source link

Remove use of ChangeSet from RecursivePublishable #472

Open emteknetnz opened 2 months ago

emteknetnz commented 2 months ago

RecursivePublishable::publishRecursive() will create a ChangeSet + (child ChangeSetItem indirectly) whenever any object is published. This is at least partially responsible for the large ChangeSet/ChangeSetItem database tables that some websites have.

The ChangeSet functionality is used primarily for silverstripe/campaign-admin. It's believed that the ChangeSet were originally intended to be a more core part of Versioning and facilitate rollbacks, though that's not how rollbacks are implemented right now and it seems very unlikely we'd switch to using ChangeSets

It seems like we should simply remove the creation of a ChangeSet/ChangeSetItem in CMS 6 since the database records created are pretty much pointless

Acceptance criteria