ExpressionEngine e Git: usando Git Hooks para rastrear alterações no banco de dados

Etapa 1: configurar um repo git

Depois de instalar sua cópia lincensed do ExpressionEngine em sua máquina local, adicione um diretório denominado DBSchema à raiz do site. Vá para o terminal e inicialize um repositório git nele:
cd ~/projects/new-ee-website git init

Etapa 2: criar e ativar o gancho

Depois de inicializar seu repo, vá para o .gitdiretório oculto , onde você encontrará um hooksdiretório. Lá, crie um novo arquivo chamado pre-commite torne-o executável:
cd .git/hooks/ touch pre-commit chmod +x pre-commit

Etapa 3: adicionar script bash ao arquivo de gancho

Em seguida, edite o pre-commitarquivo recém-criado e adicione o seguinte código:
!/bin/bash DBUSER="db_username" DBPASS="db_password" DB="db_name" SCHEMAPATH="DBSchema" /Applications/MAMP/Library/bin/mysqldump -u $DBUSER -p$DBPASS $DB > $SCHEMAPATH/$DB.sql git add $SCHEMAPATH/$DB.sql exit 0

É isso aí! O que está acontecendo é que dissemos ao git que antes de cada commit, execute um mysqldump do banco de dados e o adicione ao estágio a ser submetido.

Nota: Eu recomendaria usar isso apenas no desenvolvimento, ao trabalhar em equipes antes de entregar o conteúdo ou para o cliente.