Delete without losing it
The mis-click that isn't permanent.
Add soft delete to <the record>: <paste the model and the delete code> - A deleted_at timestamp rather than removing the row. - Every existing query excludes deleted records. Show me every query that needs changing — missing one is the whole risk here. - A way to restore, and a way to permanently purge after <n> days. - Unique constraints still work: a deleted record must not block reusing its email or slug. Say how you handled that. Then tell me what this costs — where deleted rows will accumulate and slow things down, and what I do about it.
The unique-constraint problem catches everyone. Someone deletes an account, tries to sign up again with the same email, and is told it's taken.