4 ms·
What is a delete operation that can be "undone"? What is the timestamp supposed to mean in that scenario? What happens when it's deleted again then? If you nee
by manigandham 4y ago
What is a delete operation that can be "undone"? What is the timestamp supposed to mean in that scenario? What happens when it's deleted again then?
If you need a full record of state changes then just upgrade to an audit log, otherwise a nullable timestamp field is perfectly fine.
- sedatk 4y agoThat's actually my main point. I edited my top comment to clarify that. A timestamp doesn't implicate "state." A bool, on the other hand, unquestionably does.
- manigandham 4y agoAgain, the nullable nature of the column denotes both the state and when the state changed. You have more information in a single column, no need for both.
- sedatk 4y agoNullability on timestamp only implies that the timestamp is optional that's all. It doesn't imply that the timestamp decides the state of the entity.
- manigandham 4y agoThat's very strange. Database schema's don't need to be that literal, they're there to serve the business use-case for the underlying data. A NULL `deleted_at` timestamp implies that it hasn't been deleted. That's far more simple and logical then 2 fields possibly conflicting or having an "optional" timestamp.