#781

Garantir l'unicité de l'email — mais seulement parmi les comptes actifs

Dans users, nous ne supprimons pas physiquement les personnes — nous fixons une date de suppression dans deleted_at (ce qu'on appelle le soft-delete). Mais l'email doit toujours rester unique parmi les vivants : si Anna a supprimé son compte, une nouvelle Anna a le droit de s'inscrire avec le même email, sinon il reste bloqué pour toujours. Construisez users avec id (clé primaire), email (jusqu'à 255 caractères) et deleted_at (timestamp avec fuseau horaire). Ajoutez un index unique nommé users_email_active_uniq sur email qui ne s'applique qu'aux lignes dont deleted_at est vide. Les lignes supprimées n'entrent pas dans l'index, donc leur email peut être réutilisé.

Uniquement CREATE/ALTER/DROP — aucun SELECT final nécessaire.

Le résultat de votre requête apparaîtra ici

Aucun schéma de départ

Cet exercice démarre sans aucune table — vous les créerez via CREATE TABLE.