| -- Password Reset Tokens table | |
| CREATE TABLE IF NOT EXISTS password_reset_tokens ( | |
| id UUID PRIMARY KEY DEFAULT gen_random_uuid(), | |
| user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE, | |
| token VARCHAR(255) UNIQUE NOT NULL, | |
| expires_at TIMESTAMP NOT NULL, | |
| created_at TIMESTAMP DEFAULT NOW(), | |
| used BOOLEAN DEFAULT FALSE | |
| ); | |
| -- Index for faster token lookups | |
| CREATE INDEX IF NOT EXISTS idx_password_reset_tokens_token ON password_reset_tokens(token); | |
| CREATE INDEX IF NOT EXISTS idx_password_reset_tokens_user_id ON password_reset_tokens(user_id); | |