Полный текст

ID, token, UUID и slug: в чём разница и почему их нельзя мешатьВ каждом бэкенде однажды сливаются id, uuid, slug и token. Всё это — просто строки. А через полгода выясняется: сброс пароля собран на user_id, красивый slug стал первичным ключом, а reset-token вальяжно отдыхает в логах прокси. Никто не писал плохой код специально. Просто модель данных начала врать, подменяя ответственность форматом.Длинный серьёзный UUID не делает переменную безопасной — это лишь формат записи. Токен имеет конкретную миссию и срок смерти, а внутренний ID обязан годами держать идентичность сущности. Когда они сливаются в текстовую кашу, система превращается в мину. Одно поле нельзя мигрировать, другое — логировать, а третье и вовсе торчит наружу голым API-ключом.Разберём, как перестать путать тип данных с архитектурной ролью и провести чёткую границу между публичным контрактом и внутренней базой.