A simple generic database migration tool
Project description
A simple generic database migration tool eschewing boilerplate and framework dependencies.
Migrations are applied in batches called a revision. A revision is represented by a folder named in consecutive numerical order, starting from “1”. Each revision contains pairs of migration scripts with extensions .up.sql and .down.sql for upgrading and downgrading the database respectively.
install
install with pip from test site. am still working on getting the name for the main site
$ pip install migrate -i https://testpypi.python.org/pypi
or clone
$ git clone https://github.com/kofrasa/migrate.git $ cp migrate $ make install
usage
usage: migrate [options] <command>
examples
move into working directory and create default migrations folder
$ cd /path/to/project $ mkdir migrations
creating a migration
$ migrate create -e sqlite3 -d /path/to/test.db -m "create users table"
this generates the up and down files using the current timestamp and message in the current revision folder
$ ls -R migrations/ 1 migrations//1: 20141215134002_create_users_table.down.sql 20141215134002_create_users_table.up.sql
upgrading from current revision
$ migrate up -e sqlite3 -d test.db
rolling back current revision
$ migrate down -e sqlite3 -d test.db
running with sample configuration example: config.ini
[dev] database = /path/to/test.db engine = sqlite3 [prod] migration_path = /path/to/prod/migrations database = DB_NAME user = DB_USER password = DB_PASSWORD host = DB_HOST engine = ENGINE
execute with configuration for a particular revision using a preferred environment
$ migrate reset -f config.ini --env prod
you can put a .migrate configuration file in INI format in your project directory to be used automatically
commands
Command |
Description |
---|---|
create |
Create a migration. Specify “–rev 0” to add a new revision |
up |
Upgrade from a revision to the latest |
down |
Downgrade from the latest to a lower revision |
reset |
Rollback and re-run to the current revision |
Any migration operation will stop when errors are encountered in any of the scripts. To ignore errors use the –skip-errors option.
For more options
$ migrate -h
license
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file migrate-0.3.6.tar.gz
.
File metadata
- Download URL: migrate-0.3.6.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c55bc0d3106d77e061bfeaa1065d049d3f50cc356b1023eda20cf6da2174e0a1 |
|
MD5 | ea0370922145ea679650beca444fe56a |
|
BLAKE2b-256 | e25f78b9787854554e99e51de7dac7355ce2d88fd278fc30e827a89b7da1cbd6 |