Agreed — I don’t know that I’d recommend including
deleted_at in the constraint at all. If you need those fields’ values to become “available” again after deletion, I’d add a
delete method on the specific model that reassigns them — appends a timestamp or ‘deleted’ if they’re a string, and then calls
super so it goes through the soft deletion logic.