23 lines
843 B
SQL
23 lines
843 B
SQL
-- 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);
|
|
|