feat: adding login/RegisterForm and new columns in PG
This commit is contained in:
@@ -49,10 +49,11 @@ CREATE TABLE users (
|
||||
first_name VARCHAR(100) NOT NULL,
|
||||
last_name VARCHAR(100) NOT NULL,
|
||||
team_id VARCHAR(50) REFERENCES teams(id),
|
||||
email VARCHAR(255) UNIQUE NOT NULL,
|
||||
password_hash VARCHAR(255) NOT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (uuid_id),
|
||||
UNIQUE(first_name, last_name, team_id),
|
||||
UNIQUE(uuid_id)
|
||||
);
|
||||
|
||||
@@ -89,7 +90,8 @@ CREATE INDEX idx_teams_direction ON teams(direction);
|
||||
CREATE INDEX idx_skills_category_id ON skills(category_id);
|
||||
CREATE INDEX idx_skill_links_skill_id ON skill_links(skill_id);
|
||||
CREATE INDEX idx_users_team_id ON users(team_id);
|
||||
CREATE INDEX idx_users_unique_person ON users(first_name, last_name, team_id);
|
||||
CREATE INDEX idx_users_email ON users(email);
|
||||
|
||||
CREATE INDEX idx_users_uuid_id ON users(uuid_id); -- Index on UUID for performance
|
||||
CREATE INDEX idx_user_evaluations_user_uuid ON user_evaluations(user_uuid);
|
||||
CREATE INDEX idx_user_evaluations_user_id ON user_evaluations(user_id); -- Legacy index
|
||||
|
||||
22
scripts/migrations/add_auth_fields.sql
Normal file
22
scripts/migrations/add_auth_fields.sql
Normal file
@@ -0,0 +1,22 @@
|
||||
-- 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);
|
||||
|
||||
Reference in New Issue
Block a user