diff --git a/bin/README.md b/bin/README.md index 1c15585e5e59ea449a1dfcd3029658b68e513253..6d501bde9136943a8124b7337c91fb3ea88960cc 100644 --- a/bin/README.md +++ b/bin/README.md @@ -11,10 +11,12 @@ Les scripts générés dans le répertoire temporaire `/tmp/sygal-doc/database` - `02-inserts/oracle-data-insert-from-SYGAL.*-into-SYGAL.sql` - `03-oracle-generate-ref-constraints-SYGAL.sql` -Les autres scripts gérés, eux, à la main sont : +Les autres scripts sont gérés à la main : +- [`00-crea-users.sql`](../database/00-crea-users.sql) - [`01-bootstrap.sql`](../database/01-bootstrap.sql) - [`04-crea-comue.sql`](../database/04-crea-comue.sql) - [`05-init.sql`](../database/05-init.sql) +- [`06-test.sql`](../database/06-test.sql) Usage : ```bash diff --git a/bin/docker/gen-db-scripts.sh b/bin/docker/gen-db-scripts.sh index deeec9fcceb1b8e49a6931e071d23ee4dd93b0df..7ed2f0529638f58eb7c7006c39fb59b03ccf08ec 100755 --- a/bin/docker/gen-db-scripts.sh +++ b/bin/docker/gen-db-scripts.sh @@ -1,5 +1,24 @@ #!/usr/bin/env bash +# +# Script de génération d'une partie des scripts SQL permettant de créer de zéro la base de données de SyGAL. +# +# Arguments : +# $1 : Nom du schéma de base de données. Ex: "SYGAL". Obligatoire. +# +# NB: Attention, cet argument n'a pas la vocation de "sélectionner" le schéma de base de données à utiliser, +# il est simplement exploité pour les noms de fichiers SQL générés. +# Le schéma de base de données utilisé est celui spécifié dans la config Doctrine de l'appli +# (cf. fichier `config/autoload/*.secret.local.php` de l'appli). +# +# Exemple d'usage : +# bash gen-db-scripts.sh "SYGAL" +# + +[[ -z "$1" ]] && echo "Le nom du schéma de base de données doit être spécifié, ex: SYGAL." && exit 1 + +SCHEMA=$1 + # fonction mettant en commentaire certains options de création de séquence dans le(s) fichier(s) spécifié(s) commentSeqOptionsInFile() { for f in $1; do @@ -9,8 +28,8 @@ commentSeqOptionsInFile() { # fonction remplaçant 'SYGAL.' par '/*SYGAL.*/' et '"SYGAL".' par '/*"SYGAL".*/' dans le(s) fichier(s) spécifié(s) commentPrefixInFile() { for f in $1; do - sed -i 's/\(SYGAL\.\)/\/*\1*\//ig' ${f} - sed -i 's/\("SYGAL"\.\)/\/*\1*\//ig' ${f} + sed -i "s/\(${SCHEMA}\.\)/\/*\1*\//ig" ${f} + sed -i "s/\(\"${SCHEMA}\"\.\)/\/*\1*\//ig" ${f} done } # fonction remplaçant par exemple "/*HISTO::*/1234" par "$2/*SUBSTIT*/" dans le(s) fichier(s) spécifié(s) en $1 @@ -20,10 +39,10 @@ replaceHistoIdInFile() { done } -FROM_FILE_PATH_CLEAR="/tmp/oracle-clear-schema-SYGAL.sql" -FROM_FILE_PATH_SCHEMA="/tmp/oracle-generate-schema-SYGAL-from-SYGAL.sql" +FROM_FILE_PATH_CLEAR="/tmp/oracle-clear-schema-${SCHEMA}.sql" +FROM_FILE_PATH_SCHEMA="/tmp/oracle-generate-schema-${SCHEMA}-from-${SCHEMA}.sql" FROM_FILE_PATH_INSERTS="/tmp/inserts" -FROM_FILE_PATH_REF="/tmp/oracle-generate-ref-constraints-SYGAL-from-SYGAL.sql" +FROM_FILE_PATH_REF="/tmp/oracle-generate-ref-constraints-${SCHEMA}-from-${SCHEMA}.sql" TABLES="CATEGORIE_PRIVILEGE,DOMAINE_SCIENTIFIQUE,IMPORT_OBSERV,INFORMATION,NATURE_FICHIER,PRIVILEGE,PROFIL,PROFIL_PRIVILEGE,TYPE_STRUCTURE,TYPE_VALIDATION,VERSION_FICHIER,WF_ETAPE" HISTO_ID_SUBSTIT=1 # valeur forcée pour les colonnes d'historique diff --git a/bin/generate-database-scripts.sh b/bin/generate-database-scripts.sh index a2c67ed951c7700bac94c150cb2a12603e92f731..0d751202c1f690f22d68a8d674f17a986fcd9036 100755 --- a/bin/generate-database-scripts.sh +++ b/bin/generate-database-scripts.sh @@ -1,5 +1,15 @@ #!/usr/bin/env bash +# +# Script de génération d'une partie des scripts SQL permettant de créer de zéro la base de données de SyGAL. +# +# Arguments : +# Aucun. +# +# Exemple d'usage : +# bash generate-database-scripts.sh +# + echo " #################################################################################################### # @@ -8,6 +18,7 @@ echo " ####################################################################################################" THIS_DIR=$(cd `dirname $0` && pwd) +SCHEMA="SYGAL" # répertoire de destination des résultats OUTPUT_DIR=/tmp/sygal-doc/database @@ -16,18 +27,18 @@ mkdir -p ${OUTPUT_DIR} # copie et lancement du script dans le container docker docker cp ${THIS_DIR}/docker/gen-db-scripts.sh sygal-container:/app && \ -docker exec -it -w /app sygal-container bash gen-db-scripts.sh && \ +docker exec -it -w /app sygal-container bash gen-db-scripts.sh ${SCHEMA} && \ docker exec -it -w /app sygal-container rm gen-db-scripts.sh -FROM_FILE_PATH_CLEAR="/tmp/oracle-clear-schema-SYGAL.sql" -FROM_FILE_PATH_SCHEMA="/tmp/oracle-generate-schema-SYGAL-from-SYGAL.sql" +FROM_FILE_PATH_CLEAR="/tmp/oracle-clear-schema-${SCHEMA}.sql" +FROM_FILE_PATH_SCHEMA="/tmp/oracle-generate-schema-${SCHEMA}-from-${SCHEMA}.sql" FROM_FILE_PATH_INSERTS="/tmp/inserts" -FROM_FILE_PATH_REF="/tmp/oracle-generate-ref-constraints-SYGAL-from-SYGAL.sql" +FROM_FILE_PATH_REF="/tmp/oracle-generate-ref-constraints-${SCHEMA}-from-${SCHEMA}.sql" -TO_FILE_PATH_CLEAR="${OUTPUT_DIR}/00-oracle-clear-schema-SYGAL.sql" -TO_FILE_PATH_SCHEMA="${OUTPUT_DIR}/00-oracle-generate-schema-SYGAL.sql" +TO_FILE_PATH_CLEAR="${OUTPUT_DIR}/00-oracle-clear-schema-${SCHEMA}.sql" +TO_FILE_PATH_SCHEMA="${OUTPUT_DIR}/00-oracle-generate-schema-${SCHEMA}.sql" TO_FILE_PATH_INSERTS="${OUTPUT_DIR}/02-inserts" -TO_FILE_PATH_REF="${OUTPUT_DIR}/03-oracle-generate-ref-constraints-SYGAL.sql" +TO_FILE_PATH_REF="${OUTPUT_DIR}/03-oracle-generate-ref-constraints-${SCHEMA}.sql" # récupération des scripts SQL générés docker cp sygal-container:${FROM_FILE_PATH_CLEAR} ${TO_FILE_PATH_CLEAR} && \