Skip to content

Instantly share code, notes, and snippets.

@nuclearsandwich
Created April 6, 2011 00:30
Show Gist options
  • Save nuclearsandwich/904891 to your computer and use it in GitHub Desktop.
Save nuclearsandwich/904891 to your computer and use it in GitHub Desktop.
A pre-commit hook for git which dumps and adds a mysql database to the repository just before commit.
#!/bin/bash
# Pre-commit hook to make a mysql dump right before committing and add it to the commit.
#
## Change the following values to suit your local setup.
# The name of a database user with read access to the database.
DBUSER=root
# The password associated with the above user. Leave commented if none.
#DBPASS=seekrit
# The database associated with this repository.
DBNAME=dplay
# The path relative to the repository root in which to store the sql dump.
DBPATH=schema
[[ -d schema ]] || mkdir schema
if [ -t $DBPASS ]; then
mysqldump -u $DBUSER -p$DBPASS $DBNAME > $DBPATH/$DBNAME.sql
else
mysqldump -u $DBUSER $DBNAME > $DBPATH/$DBNAME.sql
fi
git add $DBPATH/$DBNAME.sql
exit 0
@blaasvaer
Copy link

Could it have to do with async? As a large DB would take some time to actually be written to disk (as file), and then the "git add …" command is long past ... just a thought.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment