#781

Impune unicitatea email-ului — dar doar printre conturile active

În users nu ștergem oamenii fizic — setăm o dată de ștergere în deleted_at (așa-numitul soft-delete). Dar email trebuie totuși să fie unic printre cei activi: dacă Anna și-a șters contul, o nouă Anna are dreptul să se înregistreze cu același email, altfel acesta rămâne blocat pentru totdeauna. Construiește users cu id (cheie primară), email (până la 255 de caractere) și deleted_at (timestamp cu fus orar). Adaugă un index unic numit users_email_active_uniq peste email care se aplică doar rândurilor al căror deleted_at este gol. Rândurile șterse nu intră în index, deci email-ul lor poate fi reutilizat.

Doar CREATE/ALTER/DROP — nu este nevoie de un SELECT la final.

Rezultatul interogării tale va apărea aici

Fără schemă inițială

Această problemă începe fără tabele — le vei crea prin CREATE TABLE.