cannadayr / git-sqlite

A custom diff and merge driver for sqlite
MIT License
166 stars 3 forks source link
git sqlite

SYNOPSIS

git-sqlite is a collection of shell scripts that allows a sqlite database to be tracked using the git version control system.

It can be used on an existing database, however, UUIDs will make multi-master distribution substantially easier.

See src/schema.sql after building the project for an example.

USAGE GUIDE

create a new database using the git-sqlite example schema:

git-sqlite init newdatabase.db

attach the database to your repository (has to be done once for each repo):

git-sqlite attach newdatabase.db

show a diff using the git-sqlite diff driver:

git show-sql <COMMIT SHA>

resolve a merge conflict (after manually editing the merge_file)

git apply-sql

INSTALLING GIT-SQLITE

Dependencies:

As of Debian Stretch (release 9), sqldiff is included with the default sqlite3 apt package.

If it is not available for your distribution, see INSTALLING SQLDIFF below.

If you are installing from the git src:

./reconf
./configure
sudo make install

If you are installing from a release, do this:

./configure
sudo make install

INSTALLING SQLDIFF

wget https://www.sqlite.org/src/tarball/sqlite.tar.gz?r=release
tar xzf sqlite.tar.gz?r=release
cd sqlite
./configure
make sqldiff
sudo install sqldiff /usr/local/bin/

See https://www.sqlite.org/download.html for more information

KNOWN ISSUES

TODOS

NOTES