ajout automatique du server + des données

This commit is contained in:
951095
2025-09-11 11:36:44 +02:00
parent 228e46c59d
commit 4d402bb7cc
16 changed files with 180 additions and 61 deletions
+23 -15
View File
@@ -5,7 +5,7 @@ CREATE EXTENSION IF NOT EXISTS "pgcrypto";
-- ==========================================================
DO $$ BEGIN
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'role_type') THEN
CREATE TYPE role_type AS ENUM ('parent', 'gestionnaire', 'super_admin', 'assistante_maternelle');
CREATE TYPE role_type AS ENUM ('parent', 'gestionnaire', 'super_admin', 'assistante_maternelle','administrateur');
END IF;
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'genre_type') THEN
CREATE TYPE genre_type AS ENUM ('H', 'F', 'Autre');
@@ -41,9 +41,9 @@ END $$;
-- ==========================================================
CREATE TABLE utilisateurs (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
courriel VARCHAR(255) NOT NULL UNIQUE,
CHECK (courriel ~* '^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$'),
mot_de_passe_hash TEXT NOT NULL,
email VARCHAR(255) NOT NULL UNIQUE,
CHECK (email ~* '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$'),
password TEXT NOT NULL,
prenom VARCHAR(100),
nom VARCHAR(100),
genre genre_type,
@@ -58,7 +58,12 @@ CREATE TABLE utilisateurs (
cree_le TIMESTAMPTZ DEFAULT now(),
modifie_le TIMESTAMPTZ DEFAULT now(),
ville VARCHAR(150),
code_postal VARCHAR(10)
code_postal VARCHAR(10),
mobile VARCHAR(20),
telephone_fixe VARCHAR(20),
profession VARCHAR(150),
situation_familiale VARCHAR(50),
date_naissance DATE
);
-- ==========================================================
@@ -67,18 +72,19 @@ CREATE TABLE utilisateurs (
CREATE TABLE assistantes_maternelles (
id_utilisateur UUID PRIMARY KEY REFERENCES utilisateurs(id) ON DELETE CASCADE,
numero_agrement VARCHAR(50),
date_naissance DATE,
ville_naissance VARCHAR(100),
pays_naissance CHAR(2),
nir_chiffre CHAR(15),
nb_max_enfants INT,
biographie TEXT,
disponible BOOLEAN DEFAULT true,
ville_residence VARCHAR(100)
ville_residence VARCHAR(100),
date_agrement DATE,
annee_experience SMALLINT,
specialite VARCHAR(100),
place_disponible INT
);
-- ==========================================================
-- Table : parents
-- Table : parentschange les donnée de init
-- ==========================================================
CREATE TABLE parents (
id_utilisateur UUID PRIMARY KEY REFERENCES utilisateurs(id) ON DELETE CASCADE,
@@ -232,7 +238,9 @@ CREATE TABLE validations (
type VARCHAR(50),
statut statut_validation_type DEFAULT 'en_attente',
cree_le TIMESTAMPTZ DEFAULT now(),
modifie_le TIMESTAMPTZ DEFAULT now()
modifie_le TIMESTAMPTZ DEFAULT now(),
valide_par UUID REFERENCES utilisateurs(id),
commentaire TEXT
);
@@ -242,10 +250,10 @@ CREATE TABLE validations (
INSERT INTO utilisateurs (
id,
courriel,
mot_de_passe_hash,
email,
password,
prenom,
nom,admin@ptits-pas.fr
nom,
role,
statut,
cree_le,
@@ -262,4 +270,4 @@ VALUES (
now(),
now()
)
ON CONFLICT (courriel) DO NOTHING;
ON CONFLICT (email) DO NOTHING;
+42
View File
@@ -0,0 +1,42 @@
-- Script d'importation des données CSV dans la base Postgres du docker dev
-- À exécuter dans le conteneur ou via psql connecté à la base
-- psql -U admin -d ptitpas_db -f /docker-entrypoint-initdb.d/07_import.sql
-- Exemple d'utilisation :
-- Import utilisateurs
\copy utilisateurs FROM 'bdd/data_test/utilisateurs.csv' DELIMITER ',' CSV HEADER;
-- Import assistantes_maternelles
\copy assistantes_maternelles FROM 'bdd/data_test/assistantes_maternelles.csv' DELIMITER ',' CSV HEADER;
-- Import parents
\copy parents FROM 'bdd/data_test/parents.csv' DELIMITER ',' CSV HEADER;
-- Import enfants
\copy enfants FROM 'bdd/data_test/enfants.csv' DELIMITER ',' CSV HEADER;
-- Import enfants_parents
\copy enfants_parents FROM 'bdd/data_test/enfants_parents.csv' DELIMITER ',' CSV HEADER;
-- Import dossiers
\copy dossiers FROM 'bdd/data_test/dossiers.csv' DELIMITER ',' CSV HEADER;
-- Import contrats
\copy contrats FROM 'bdd/data_test/contrats.csv' DELIMITER ',' CSV HEADER;
-- Import validations
\copy validations FROM 'bdd/data_test/validations.csv' DELIMITER ',' CSV HEADER;
-- Import notifications
\copy notifications FROM 'bdd/data_test/notifications.csv' DELIMITER ',' CSV HEADER;
-- Import uploads
\copy uploads FROM 'bdd/data_test/uploads.csv' DELIMITER ',' CSV HEADER;
-- Import evenements
\copy evenements FROM 'bdd/data_test/evenements.csv' DELIMITER ',' CSV HEADER;
-- Remarque :
-- Les chemins doivent être accessibles depuis le conteneur Docker (monter le dossier si besoin)
-- Adapter l'utilisateur, la base et le chemin si nécessaire