|
|
|
|
|
by cyberax
147 days ago
|
|
Soft deletes + GC for the win! We have an offline-first infrastructure that replicates the state to possibly offline clients. Hard deletes were causing a lot of fun issues with conflicts, where a client could "resurrect" a deleted object. Or deletion might succeed locally but fail later because somebody added a dependent object. There are ways around that, of course, but why bother? Soft deletes can be handled just like any regular update. Then we just periodically run a garbage collector to hard-delete objects after some time. |
|