#postgresql #sql #migration #cli-tool

app migr

A minimal migration tool for postgres

2 releases

0.1.1 Oct 7, 2023
0.1.0 Sep 30, 2023

#923 in Database interfaces

MIT license

25KB
592 lines

PG Migrator (migr)

A minimal CLI tool to manipulate PostgreSQL migrations.

cargo install migr

Run migr to see a list of available commands. The tool requires the DATABASE_URL variable to be set in the process env.

setup

To get started with a fresh migrationss directory run

migr setup

gen

For generating migrations, it is advised you use

migr gen <NAME>

This will maintain correct ordering of migrations via timestamps. If you ever choose to edit or create a migration manually and the ordering matters, ensure you change the timestamp accordingly.

sync

migr sync [-t]

-t will remove migrations from the metadata table that don't exist in the directory.

run/rev/redo

migr run/rev/redo [-c] [-a] [-e <NAME>]

-c is a count of how many migrations the action will be performed on.

-a will perform the action on all migrations.

-e performs the action on the exact migration. The name should be the exact migration name without the timestamp, e.g. XXXX-XX-XX-XXXXXX\_ create_table_foo.

Dependencies

~10–21MB
~356K SLoC