Skip to content

Instantly share code, notes, and snippets.

@yanker
Last active May 20, 2024 12:08
Show Gist options
  • Save yanker/83dca02c75dbb210f729031a0e32c560 to your computer and use it in GitHub Desktop.
Save yanker/83dca02c75dbb210f729031a0e32c560 to your computer and use it in GitHub Desktop.
HOOK pre-commit

HOOK pre-commit

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."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment