Skip to content
Snippets Groups Projects
Commit 585f8f9f authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Màj des scripts de création du dump SQL permettant de créer une bdd de démo.

parent 856fc038
Branches
Tags 5.1.1
No related merge requests found
Pipeline #30246 passed
......@@ -134,7 +134,9 @@ return [
'nomUsuel' => 'lastName',
'nomPatronymique' => 'lastName',
'prenom1' => ['name' => 'firstName', 'params' => [null], 'context' => true],
'email' => 'safeEmail',
'prenom2' => 'null',
'prenom3' => 'null',
'email' => ['name' => 'numerify', 'unique' => true, 'params' => ['mail######@etab.fr']],
'supann_id' => 'isbn13', // varchar(30) !
'id_ref' => 'md5',
'npd_force' => 'md5',
......@@ -147,7 +149,7 @@ return [
],
IndividuCompl::class => [
'mapping' => [
'email' => 'safeEmail',
'email' => ['name' => 'numerify', 'unique' => true, 'params' => ['mail######@perso.fr']],
],
],
MailConfirmation::class => [
......@@ -226,11 +228,11 @@ return [
],
Utilisateur::class => [
'mapping' => [
'username' => ['name' => 'userName', 'unique' => true],
'username' => ['name' => 'numerify', 'unique' => true, 'params' => ['user########']],
'email' => 'safeEmail',
'displayName' => 'name',
'nom' => 'lastName',
'prenom' => 'firstName',
// 'displayName' => 'name',
// 'nom' => 'lastName',
// 'prenom' => 'firstName',
],
'except' => [
'username' => [
......
......
----------------------------------------------------------------------------------------------------------
-- Préparations diverses.
-- Setup
----------------------------------------------------------------------------------------------------------
-- Pour désactiver le moteur de substitutions
call substit__set_enabled_engine(false);
-- Diminution du volume de données.
call db_prune_tmp_proc_prune();
----------------------------------------------------------------------------------------------------------
-- Elagage de la bdd
----------------------------------------------------------------------------------------------------------
-- Diminution du volume de données.
call db_prune_tmp_proc_prune();
----------------------------------------------------------------------------------------------------------
-- Traitements post-anonymisation.
----------------------------------------------------------------------------------------------------------
-- email : {username}@...
update utilisateur u
set email = u.username || substr(u.email, position('@' in u.email))
from individu i
where u.individu_id = i.id
;
-- nom, prenom, display_name : cohérents avec l'individu lié
update utilisateur u
set nom = i.nom_usuel, prenom = i.prenom1, display_name = i.prenom1 || ' ' || i.nom_usuel
from individu i
where u.individu_id = i.id
;
README
======
Répertoire des scripts SQL utile pour la bdd temporaire.
Répertoire des scripts SQL utilisés pour préparer la bdd de démo.
......@@ -165,36 +165,42 @@ timeout 60s bash -c "until docker exec $DB_CONTAINER_NAME pg_isready --host=loca
echo "--------------------------------------------------------------------------------------------------------"
SQL_PREPARE_FILE_NAME="03_prepare.sql"
cp -f $ROOT_DIR/src/db/*.sql "$SQL_OUTPUT_DIR/"
SQL_SETUP_FILE_NAME="03_setup.sql"
SQL_PRUNE_FILE_NAME="04_prune.sql"
#
# Exécution des scripts de peuplement de la bdd temporaire, si aucune donnée déjà persistée.
#
echo "# Exécution des scripts de peuplement de la bdd temporaire $SYGAL_USER/$SYGAL_DB..."
#if [ ! -d "$TMP_DIR/docker/db" ]; then
cp -f $ROOT_DIR/src/db/*.sql "$SQL_OUTPUT_DIR/" && \
echo " - Lancement de $SQL_DUMP_FILE_NAME..." && \
docker exec \
--env PGDATABASE=$SYGAL_DB \
--env PGUSER=$SYGAL_USER \
$DB_CONTAINER_NAME \
psql -o /dev/null --quiet -v ON_ERROR_STOP=1 -f /tmp/sql/$SQL_DUMP_FILE_NAME && \
echo " - Lancement de $SQL_PREPARE_FILE_NAME..." && \
\
echo " - Lancement de $SQL_SETUP_FILE_NAME..." && \
docker exec \
--env PGDATABASE=$SYGAL_DB \
--env PGUSER=$SYGAL_USER \
$DB_CONTAINER_NAME \
psql -o /dev/null --quiet -v ON_ERROR_STOP=1 -f /tmp/sql/$SQL_PREPARE_FILE_NAME && \
psql -o /dev/null --quiet -v ON_ERROR_STOP=1 -f /tmp/sql/$SQL_SETUP_FILE_NAME && \
\
echo " - Lancement de $SQL_PRUNE_FILE_NAME..." && \
docker exec \
--env PGDATABASE=$SYGAL_DB \
--env PGUSER=$SYGAL_USER \
$DB_CONTAINER_NAME \
psql -o /dev/null --quiet -v ON_ERROR_STOP=1 -f /tmp/sql/$SQL_PRUNE_FILE_NAME && \
echo "Fait."
[[ $? -ne 0 ]] && exit 1
#else
# echo "Inutile, des données persistées existent déjà dans $TMP_DIR/docker/db."
#fi
echo "--------------------------------------------------------------------------------------------------------"
#
# Build et run SyGAL pour générer le script d'anonymisation.
# Build et run SyGAL pour générer le script d'anonymisation sur la base temporaire élaguée..
#
SQL_OUTPUT_FILE_NAME="09_anonymisation.sql"
SQL_OUTPUT_FILE_PATH="$SQL_OUTPUT_DIR/$SQL_OUTPUT_FILE_NAME"
......@@ -253,6 +259,28 @@ docker exec \
echo "Fait."
[[ $? -ne 0 ]] && exit 1
echo "--------------------------------------------------------------------------------------------------------"
SQL_POST_ANONYM_FILE_NAME="05_post_anonym.sql"
#
# Exécution du script post-anonymisation de la bdd temporaire.
#
echo "# Exécution du script post-anonymisation de la bdd temporaire $SYGAL_USER/$SYGAL_DB..."
#if [ ! -d "$TMP_DIR/docker/db" ]; then
echo " - Lancement de $SQL_POST_ANONYM_FILE_NAME..." && \
docker exec \
--env PGDATABASE=$SYGAL_DB \
--env PGUSER=$SYGAL_USER \
$DB_CONTAINER_NAME \
psql -o /dev/null --quiet -v ON_ERROR_STOP=1 -f /tmp/sql/$SQL_POST_ANONYM_FILE_NAME && \
echo "Fait."
[[ $? -ne 0 ]] && exit 1
#else
# echo "Inutile, des données persistées existent déjà dans $TMP_DIR/docker/db."
#fi
echo "--------------------------------------------------------------------------------------------------------"
#
......
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment