// cli tool

A UX wrapper around golang-migrate.

For everyday migrations without copy-pasting the same connection string for the hundredth time. Short commands, named sessions, nothing fancy.

go-migrate works. It's just verbose.

Every migration means retyping a full connection string, or reaching for a shell alias that only you understand six months from now. ez-mig wraps it with a session system: save a database once under a name, then just reference the name.

That's the whole idea. No new migration format, no lock-in — it delegates all actual migration execution to golang-migrate itself.

What it does

Installation

From release (recommended)

Grab the latest binary from the releases page.

From source

git clone https://github.com/AkhileshThykkat/ez-mig.git cd ez-mig go build

Requires Linux, macOS, or Windows, and PostgreSQL or MySQL (more databases coming soon). Go is only needed if building from source.

Quick start

# save a sessionez-mig config add local \ --uri "postgres://user:pass@localhost:5432/app?sslmode=disable" \ --path "./migrations"# run migrationsez-mig up --db local

For every command, including goto, force, and session management, see the full command reference.