1 unstable release
0.0.1 | Mar 19, 2020 |
---|
#27 in #developer-tools
32KB
850 lines
Jab
jab
is a database state management tool, think of it as git but for database. You can commit your current db state and checkout to your previous db state.
📠 Notes
- Currently only supports postgres.
- This project only works if you have
ON DELETE CASCADE
on every FK constraints otherwise we can't do clean restore (hopefully this will change in the future).
🔩 Installation
Manual (requires rust)
git clone git@github.com:sendyhalim/jab.git
make install
Download
Dynamically linked binaries are only available for macos and linux. Go here.
🎮 Usage
# First create project.
# Currently only supports postgres.
# ------------------------------------------
jab project create awesomestuff --database-uri="username:password@localhost:5433"
# Start commiting your db
# ------------------------------------------
jab project commit awesomestuff --message "my first commit"
# See log
# ------------------------------------------
jab project log awesomestuff
# Restore your db to the latest commit
# ------------------------------------------
jab project restore awesomestuff
# Restore your db to a specific commit
# ------------------------------------------
jab project restore awesomestuff [optional-hash]
# List of available projects
# ------------------------------------------
jab project list
Dependencies
~12–22MB
~379K SLoC