#781

Imponha a unicidade do email — mas apenas entre as contas ativas

Em users não excluímos as pessoas fisicamente — definimos uma data de exclusão em deleted_at (o chamado soft-delete). Mas o email deve continuar único entre os ativos: se a Anna excluiu a conta dela, uma nova Anna tem o direito de se cadastrar com o mesmo email, caso contrário ele fica bloqueado para sempre. Crie users com id (chave primária), email (até 255 caracteres) e deleted_at (timestamp com fuso horário). Adicione um índice único chamado users_email_active_uniq sobre email que se aplique apenas às linhas cujo deleted_at esteja vazio. As linhas excluídas não entram no índice, então o email delas pode ser reutilizado.

Apenas CREATE/ALTER/DROP — não é preciso um SELECT no final.

Entre para enviar

O resultado da sua consulta aparecerá aqui

Sem esquema inicial

Esta tarefa não inclui tabelas iniciais: você vai criá-las com CREATE TABLE.