ajout automatique du server + des données
This commit is contained in:
+23
-15
@@ -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;
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user