feat(bdd): conformité CDC v1.3 - schéma unifié (#3)
Modifications du schéma BDD.sql : Table utilisateurs : - password devient NULLABLE (créé après validation via token) - Ajout token_creation_mdp + token_creation_mdp_expire_le - telephone unifié (suppression mobile/telephone_fixe) - Ajout index sur token_creation_mdp Table assistantes_maternelles : - date_agrement devient NOT NULL (obligatoire) - Suppression annee_experience - Suppression specialite Table enfants : - genre devient NOT NULL (obligatoire H/F) Autres modifications : - docker-compose.yml : pointage vers BDD.sql unifié - Suppression des anciens fichiers de migration (01-07) - Base de données recréée et testée ✅ Ref: #3
This commit is contained in:
+12
-8
@@ -46,19 +46,20 @@ CREATE TABLE utilisateurs (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
email VARCHAR(255) NOT NULL UNIQUE,
|
||||
CHECK (email ~* '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$'),
|
||||
password TEXT NOT NULL,
|
||||
password TEXT, -- NULL avant création via token
|
||||
prenom VARCHAR(100),
|
||||
nom VARCHAR(100),
|
||||
genre genre_type,
|
||||
role role_type NOT NULL,
|
||||
statut statut_utilisateur_type DEFAULT 'en_attente',
|
||||
mobile VARCHAR(20),
|
||||
telephone_fixe VARCHAR(20),
|
||||
telephone VARCHAR(20), -- Unifié (mobile privilégié)
|
||||
adresse TEXT,
|
||||
date_naissance DATE,
|
||||
photo_url TEXT,
|
||||
photo_url TEXT, -- Obligatoire pour AM, non utilisé pour parents
|
||||
consentement_photo BOOLEAN DEFAULT false,
|
||||
date_consentement_photo TIMESTAMPTZ,
|
||||
token_creation_mdp VARCHAR(255), -- Token pour créer MDP après validation
|
||||
token_creation_mdp_expire_le TIMESTAMPTZ, -- Expiration 7 jours
|
||||
changement_mdp_obligatoire BOOLEAN DEFAULT false,
|
||||
cree_le TIMESTAMPTZ DEFAULT now(),
|
||||
modifie_le TIMESTAMPTZ DEFAULT now(),
|
||||
@@ -68,16 +69,19 @@ CREATE TABLE utilisateurs (
|
||||
situation_familiale situation_familiale_type
|
||||
);
|
||||
|
||||
-- Index pour recherche par token
|
||||
CREATE INDEX idx_utilisateurs_token_creation_mdp
|
||||
ON utilisateurs(token_creation_mdp)
|
||||
WHERE token_creation_mdp IS NOT NULL;
|
||||
|
||||
-- ==========================================================
|
||||
-- Table : assistantes_maternelles
|
||||
-- ==========================================================
|
||||
CREATE TABLE assistantes_maternelles (
|
||||
id_utilisateur UUID PRIMARY KEY REFERENCES utilisateurs(id) ON DELETE CASCADE,
|
||||
numero_agrement VARCHAR(50),
|
||||
date_agrement DATE,
|
||||
date_agrement DATE NOT NULL, -- Obligatoire selon CDC v1.3
|
||||
nir_chiffre CHAR(15),
|
||||
annee_experience SMALLINT,
|
||||
specialite VARCHAR (100),
|
||||
nb_max_enfants INT,
|
||||
place_disponible INT,
|
||||
biographie TEXT,
|
||||
@@ -100,7 +104,7 @@ CREATE TABLE enfants (
|
||||
statut statut_enfant_type,
|
||||
prenom VARCHAR(100),
|
||||
nom VARCHAR(100),
|
||||
genre genre_type,
|
||||
genre genre_type NOT NULL, -- Obligatoire selon CDC
|
||||
date_naissance DATE,
|
||||
date_prevue_naissance DATE,
|
||||
photo_url TEXT,
|
||||
|
||||
Reference in New Issue
Block a user