pgmigrations

SQL migrations for projects using PostgreSQL


License
MIT
Install
pip install pgmigrations==0.0.13

Documentation

pgmigrations

Build Status Coverage Status Code style: black

SQL migrations for projects using PostgreSQL

Example Usage

Initialise the migrations

pgmigrations init

This will create a directory called migrations in the current working directory

Create a migration

pgmigrations create <tag>

This will create a skeleton migration in the migrations directory. The migration will consist of a directory with the name <timestamp>_migrations_<tag>, for example 20200701_1030_migrations_first_migration , which contains two files; apply.sql and rollback.sql.

As the names suggests, apply.sql will be executed when the migration is applied and rollback.sql will be executed if the migraiton is rollbacked.

Apply migrations

pgmigrations apply --dsn=<dsn> [--path <colon separated list of migration locations>]

or

export PGMIGRATIONS_DSN=<dsn>
export PGMIGRATIONS_PATH=<colon separated list of migration locations>
pgmigrations apply

This will apply any unapplied migrations. Each migration is applied in an atomic transaction.

Rollback a migration

pgmigrations rollback --dsn=<dsn> [--path <colon separated list of migration locations>]

or

export PGMIGRATIONS_DSN=<dsn>
export PGMIGRATIONS_PATH=<colon separated list of migration locations>
pgmigrations rollback <name>

This will rollback an already applied migration.