Recordar que se puede poner el las variables de entorno el path de mysqldump para evitar ponerlo en este script. La carpeta de hooks se encuentran en el directorio oculto de ./git/hooks que deberemos de habilitar su visualización en VSCODE en:
Settings >> Text Editor >> Files >> Exclude
#!/bin/bash
# Este script se ejecuta antes de realizar un commit. Realiza un respaldo de la base de datos en el directorio indicado.
# Para evitar que se haga esta HOOK pre-commit debemos añadir a nuestro commit el argumento --no-verify.
# Por ejemplo: git commit --no-verify -m "Respaldando base de datos..."
# En este caso, no se hará un respaldo de la base de datos.
# Ruta donde guardar el respaldo de la base de datos
BACKUP_DIR="./database/schema"
PATHMYSQL="C:/wamp2023/bin/mysql/mysql5.7.42/bin/"
DB_USER="root"
DB_PASS=""
DB_NAME="dev_dolt"
# Verificar si se pasó un argumento al script
# Comando para hacer el respaldo con usuario de password
#$PATHMYSQL/mysqldump -h localhost -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/$$DB_NAME".sql"
$PATHMYSQL/mysqldump -h localhost -u $DB_USER --password="$DB_PASS" $DB_NAME >$BACKUP_DIR/$DB_NAME".sql"
# Verificar si el comando anterior tuvo éxito
if [ $? -ne 0 ]; then
echo "ERROR: El respaldo de la base de datos ha fallado."
exit 1
fi
# Agregar el respaldo al área de preparación de Git
git add $BACKUP_DIR/$DB_NAME".sql"
# Mostrar un mensaje de confirmación
echo "Se ha realizado un respaldo de la base de datos en: $BACKUP_DIR/$DB_NAME".sql""
echo "Por favor, confirma este respaldo junto con tus cambios."