-- Ajout des champs email et password à la table users
-- Étape 1: Ajouter les colonnes sans contraintes NOT NULL
ALTER TABLE users
ADD COLUMN email VARCHAR(255),
ADD COLUMN password_hash VARCHAR(255);

-- Étape 2: Remplir les colonnes avec des valeurs par défaut pour les données existantes
UPDATE users 
SET 
  email = CONCAT(LOWER(first_name), '.', LOWER(last_name), '@peakskills.local'),
  password_hash = '$2b$10$default.hash.for.existing.users.placeholder'
WHERE email IS NULL;

-- Étape 3: Ajouter les contraintes NOT NULL après avoir rempli les données
ALTER TABLE users 
ALTER COLUMN email SET NOT NULL,
ALTER COLUMN password_hash SET NOT NULL;

-- Étape 4: Ajouter l'index et la contrainte unique sur l'email
CREATE INDEX idx_users_email ON users(email);
ALTER TABLE users ADD CONSTRAINT users_email_unique UNIQUE (email);

