#781

Pakota sähköpostin yksilöllisyys — mutta vain elävien tilien kesken

Taulussa users emme poista käyttäjiä fyysisesti — asetamme poistopäivämäärän sarakkeeseen deleted_at (niin sanottu pehmeä poisto). Mutta email-osoitteen on silti oltava yksilöllinen elävien kesken: jos Anna poisti tilinsä, uudella Annalla on oikeus rekisteröityä samalla sähköpostilla, muuten se pysyy lukittuna ikuisesti. Rakenna taulu users, jossa on id (pääavain), email (enintään 255 merkkiä) ja deleted_at (aikaleima aikavyöhykkeellä). Lisää yksilöllinen indeksi nimeltä users_email_active_uniq sarakkeelle email, joka koskee vain rivejä, joiden deleted_at on tyhjä. Poistetut rivit eivät päädy indeksiin, joten niiden sähköposti voidaan käyttää uudelleen.

Pelkkä CREATE/ALTER/DROP — lopussa ei tarvita SELECT-lausetta.

Kyselysi tulos näkyy tässä

Ei aloitusskeemaa

Tämä tehtävä alkaa ilman tauluja — luot ne CREATE TABLE -komennolla.