Despejo do banco de dados MySQL via Git Post-Commit Hook com Commit SHA ID anexado

Muitos dos meus projetos de desenvolvimento web são construídos sobre sistemas de gerenciamento de conteúdo. A fim de manter algum senso de controle de versão do banco de dados, sem realmente colocar o banco de dados sob o controle de origem, eu executo um despejo do banco de dados mysql ao anexar um timestamp e o git commit SHA id ao nome do arquivo para referência.

Aqui está meu arquivo git pós-commit para fazer isso:

#!/bin/sh
# ./.git/hooks/post-commit
# dump local database and store

# Time and commit id
current_time
=$(date +%F-%H_%M_%S)
git_commit_id
=$(git rev-parse --short HEAD)

# Go go database dump
printf
"==> Dumping DB ..."
mysqldump
-u root -p'your password here' database-name | cat > ~/db/database-name-$current_time-$git_commit_id.sql
printf
" Done. [database-name-$current_time-$git_commit_id.sql]nn"

Substitua os detalhes de login do mysql, caminho e nome do banco de dados pelas configurações específicas do seu ambiente.