ptitspas-ynov-bdd/verify.log

189 lines
12 KiB
Plaintext

=== 0) Version & horodatage ====================================
version
--------------------------------------------------------------------------------------------------------------------
PostgreSQL 17.6 (Debian 17.6-1.pgdg13+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 14.2.0-19) 14.2.0, 64-bit
(1 row)
executed_at
-------------------------------
2025-09-19 09:15:01.473058+00
(1 row)
=== 1) Comptes & répartition par rôle ==========================
role | nb
-----------------------+----
parent | 6
assistante_maternelle | 3
administrateur | 1
gestionnaire | 1
super_admin | 1
(5 rows)
=== 2) Utilisateurs en attente / acceptés / rejetés ============
statut | nb
--------+----
actif | 12
(1 row)
=== 3) Parents avec co-parents (NULL si pas de co-parent) ======
parent_id | parent_email | id_co_parent | co_parent_email
--------------------------------------+------------------------------+--------------------------------------+------------------------------
f1d3c5b7-8a9e-4f2d-9c1b-3e7a5d8c2f1b | amelie.durand@ptits-pas.fr | b6c4d2e3-5f7a-4b8c-9d1e-2a3c5f7b8d9e | julien.rousseau@ptits-pas.fr
c4e2d1f5-6b7a-4c3d-8f2a-1e9c3b5a7d6f | claire.martin@ptits-pas.fr | |
d3e5f7a9-1c2b-4d6e-8f3a-2b4c6d8e9f1a | david.lecomte@ptits-pas.fr | |
b6c4d2e3-5f7a-4b8c-9d1e-2a3c5f7b8d9e | julien.rousseau@ptits-pas.fr | f1d3c5b7-8a9e-4f2d-9c1b-3e7a5d8c2f1b | amelie.durand@ptits-pas.fr
(4 rows)
=== 4) Enfants (statut, dates cohérentes) ======================
id | prenom | nom | statut | date_naissance | date_prevue_naissance
--------------------------------------+--------+----------+-----------+----------------+-----------------------
5e8574b7-63e6-4d48-9af3-8d3bf7a6a6cf | Emma | Dupont | actif | 2020-06-01 |
edd19cd1-bb67-4f14-8a37-c66b75c94537 | Lucas | Durand | scolarise | 2018-09-15 |
e6f7a8b9-c1d2-4e3f-5a6b-7c8d9e0f1a2b | Maxime | Lecomte | actif | 2023-04-15 |
e1a2b3c4-d5e6-4f7a-8b9c-1d2e3f4a5b6c | Emma | Martin | actif | 2023-02-15 |
e3c4d5e6-f7a8-4b9c-1d2e-3f4a5b6c7d8e | Léa | Martin | actif | 2023-02-15 |
e2b3c4d5-e6f7-4a8b-9c1d-2e3f4a5b6c7d | Noah | Martin | actif | 2023-02-15 |
e4d5e6f7-a8b9-4c1d-2e3f-4a5b6c7d8e9f | Chloé | Rousseau | actif | 2022-04-20 |
e5e6f7a8-b9c1-4d2e-3f4a-5b6c7d8e9f1a | Hugo | Rousseau | actif | 2024-03-10 |
a5c3268e-07eb-41a4-9f6c-2f9f16f37c3d | | | actif | 2020-01-01 | 2025-01-01
(9 rows)
=== 5) Liaison N:N parents_enfants =============================
id_parent | parent_email | id_enfant | enfant
--------------------------------------+------------------------------+--------------------------------------+--------
f1d3c5b7-8a9e-4f2d-9c1b-3e7a5d8c2f1b | amelie.durand@ptits-pas.fr | e4d5e6f7-a8b9-4c1d-2e3f-4a5b6c7d8e9f | Chloé
f1d3c5b7-8a9e-4f2d-9c1b-3e7a5d8c2f1b | amelie.durand@ptits-pas.fr | e5e6f7a8-b9c1-4d2e-3f4a-5b6c7d8e9f1a | Hugo
c4e2d1f5-6b7a-4c3d-8f2a-1e9c3b5a7d6f | claire.martin@ptits-pas.fr | e1a2b3c4-d5e6-4f7a-8b9c-1d2e3f4a5b6c | Emma
c4e2d1f5-6b7a-4c3d-8f2a-1e9c3b5a7d6f | claire.martin@ptits-pas.fr | e3c4d5e6-f7a8-4b9c-1d2e-3f4a5b6c7d8e | Léa
c4e2d1f5-6b7a-4c3d-8f2a-1e9c3b5a7d6f | claire.martin@ptits-pas.fr | e2b3c4d5-e6f7-4a8b-9c1d-2e3f4a5b6c7d | Noah
d3e5f7a9-1c2b-4d6e-8f3a-2b4c6d8e9f1a | david.lecomte@ptits-pas.fr | e6f7a8b9-c1d2-4e3f-5a6b-7c8d9e0f1a2b | Maxime
b6c4d2e3-5f7a-4b8c-9d1e-2a3c5f7b8d9e | julien.rousseau@ptits-pas.fr | e4d5e6f7-a8b9-4c1d-2e3f-4a5b6c7d8e9f | Chloé
b6c4d2e3-5f7a-4b8c-9d1e-2a3c5f7b8d9e | julien.rousseau@ptits-pas.fr | e5e6f7a8-b9c1-4d2e-3f4a-5b6c7d8e9f1a | Hugo
(8 rows)
=== 6) Dossiers (parent, enfant, statut) =======================
id | parent_email | enfant | statut | budget
--------------------------------------+----------------------------+--------+--------+---------
bb9c30a0-60b4-4832-9947-8a7d2366673d | amelie.durand@ptits-pas.fr | Emma | envoye | 1200.00
(1 row)
=== 7) Messages par dossier (ordre chronologique) ==============
id | id_dossier | id_expediteur | expediteur_email | contenu | cree_le
----+------------+---------------+------------------+---------+---------
(0 rows)
=== 8) Contrats 1:1 avec dossier + avenants ====================
contrat_id | id_dossier | statut | nb_avenants
--------------------------------------+--------------------------------------+-----------+-------------
f09c6ffa-4627-4aa8-b20b-829c2c828f0d | bb9c30a0-60b4-4832-9947-8a7d2366673d | brouillon | 0
(1 row)
=== 9) Evénements par enfant (30 derniers jours) ==============
id | type | id_enfant | enfant | date_debut | date_fin | statut
----+------+-----------+--------+------------+----------+--------
(0 rows)
=== 10) Uploads & notifications récentes =======================
email | fichier_url | fichier_type | cree_le
---------------------+--------------------------------+--------------+-------------------------------
parent1@example.com | https://placeholder.local/file | image | 2025-09-02 12:57:35.140078+00
(1 row)
email | contenu | lu | cree_le
---------------------+-----------------------------+----+-------------------------------
parent1@example.com | Votre dossier a été accepté | f | 2025-09-02 12:57:42.845264+00
(1 row)
=== 11) Validations (qui a validé quoi) ========================
id | utilisateur_email | type | statut | cree_le
--------------------------------------+---------------------------+----------+--------+-------------------------------
fcc45701-5708-4368-b467-b95ddb7e1580 | marie.dubois@ptits-pas.fr | | valide | 2025-09-09 14:52:47.339858+00
be1c4779-341b-436d-b17e-8bc486d22ef8 | am1@example.com | | valide | 2025-09-09 14:47:01.963573+00
8ec99565-e8c2-469f-9641-01b99b8281eb | am1@example.com | identité | valide | 2025-09-02 12:57:49.846424+00
(3 rows)
=== 12) Orphelins potentiels (doivent renvoyer 0 ligne) =======
id | id_dossier | id_expediteur | contenu | re_redige_par_ia | cree_le
----+------------+---------------+---------+------------------+---------
(0 rows)
id_parent | id_enfant
-----------+-----------
(0 rows)
id | id_dossier | planning | tarif_horaire | indemnites_repas | date_debut | statut | signe_parent | signe_am | finalise_le | cree_le | modifie_le
----+------------+----------+---------------+------------------+------------+--------+--------------+----------+-------------+---------+------------
(0 rows)
id | id_contrat | modifications | initie_par | statut | cree_le | modifie_le
----+------------+---------------+------------+--------+---------+------------
(0 rows)
id | type | id_enfant | id_am | id_parent | cree_par | date_debut | date_fin | commentaires | statut | delai_grace | urgent | cree_le | modifie_le
----+------+-----------+-------+-----------+----------+------------+----------+--------------+--------+-------------+--------+---------+------------
(0 rows)
=== 13) Performance : EXPLAIN sur requêtes clés ===============
QUERY PLAN
----------------------------------------------------------------------------------------------------------------------------------------------------
Limit (cost=11.31..11.31 rows=3 width=89) (actual time=0.035..0.036 rows=0 loops=1)
-> Sort (cost=11.31..11.31 rows=3 width=89) (actual time=0.032..0.033 rows=0 loops=1)
Sort Key: cree_le DESC
Sort Method: quicksort Memory: 25kB
-> Bitmap Heap Scan on messages m (cost=4.17..11.28 rows=3 width=89) (actual time=0.023..0.024 rows=0 loops=1)
Recheck Cond: (id_dossier = 'dddddddd-dddd-dddd-dddd-dddddddddddd'::uuid)
-> Bitmap Index Scan on idx_messages_id_dossier_cree_le (cost=0.00..4.17 rows=3 width=0) (actual time=0.012..0.013 rows=0 loops=1)
Index Cond: (id_dossier = 'dddddddd-dddd-dddd-dddd-dddddddddddd'::uuid)
Planning Time: 1.468 ms
Execution Time: 0.521 ms
(10 rows)
QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------------------------------------
Index Scan using idx_evenements_id_enfant_date_debut on evenements ev (cost=0.15..8.17 rows=1 width=161) (actual time=0.006..0.007 rows=0 loops=1)
Index Cond: ((id_enfant = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'::uuid) AND (date_debut >= '2025-01-01 00:00:00+00'::timestamp with time zone))
Planning Time: 0.117 ms
Execution Time: 0.025 ms
(4 rows)
QUERY PLAN
------------------------------------------------------------------------------------------------------------------------------------------------------
Limit (cost=9.52..9.53 rows=2 width=73) (actual time=0.012..0.013 rows=0 loops=1)
-> Sort (cost=9.52..9.53 rows=2 width=73) (actual time=0.011..0.012 rows=0 loops=1)
Sort Key: cree_le DESC
Sort Method: quicksort Memory: 25kB
-> Bitmap Heap Scan on notifications n (cost=4.17..9.51 rows=2 width=73) (actual time=0.007..0.008 rows=0 loops=1)
Recheck Cond: ((id_utilisateur = '33333333-3333-3333-3333-333333333333'::uuid) AND (NOT lu))
-> Bitmap Index Scan on idx_notifications_user_lu_cree_le (cost=0.00..4.17 rows=2 width=0) (actual time=0.004..0.005 rows=0 loops=1)
Index Cond: ((id_utilisateur = '33333333-3333-3333-3333-333333333333'::uuid) AND (lu = false))
Planning Time: 0.087 ms
Execution Time: 0.027 ms
(10 rows)
QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Sort (cost=8.18..8.18 rows=1 width=267) (actual time=0.017..0.018 rows=0 loops=1)
Sort Key: cree_le DESC
Sort Method: quicksort Memory: 25kB
-> Index Scan using idx_dossiers_id_parent_enfant_statut_cree_le on dossiers d (cost=0.15..8.17 rows=1 width=267) (actual time=0.012..0.012 rows=0 loops=1)
Index Cond: ((id_parent = '33333333-3333-3333-3333-333333333333'::uuid) AND (id_enfant = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'::uuid))
Planning Time: 0.062 ms
Execution Time: 0.032 ms
(7 rows)
=== 14) JSONB : exemples de filtrage ===========================
id | planning_souhaite
----+-------------------
(0 rows)
id | planning
----+----------
(0 rows)
=== 15) Sanity check final ====================================
nb_utilisateurs | nb_parents | nb_am | nb_enfants | nb_liens_parent_enfant | nb_dossiers | nb_messages | nb_contrats | nb_avenants | nb_evenements | nb_uploads | nb_notifications | nb_validations
-----------------+------------+-------+------------+------------------------+-------------+-------------+-------------+-------------+---------------+------------+------------------+----------------
12 | 4 | 2 | 9 | 8 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 3
(1 row)