Hacker News new | ask | show | jobs
by vswaroop04 92 days ago
Right now, Migrion doesn’t do anything special here it prints which migration is running and blocks until the database finishes.

For example, if you’re adding an index on a 10TB table, you’d just see:

Applying abc123: add index...

…and it will hang there until the database completes the operation.

That said, this is mostly a database-level concern, not something a migration tool can fully abstract away.

If you’re working with large tables, you’d typically want to use:

CREATE INDEX CONCURRENTLY (Postgres)

regardless of which migration tool you’re using.

Migratex generates the SQL, but you can edit it before applying. So in practice, you’d replace:

CREATE INDEX ...

with:

CREATE INDEX CONCURRENTLY ...

in your up.sql.

That said, there are a few things we could improve here:

Show elapsed time per migration

Add a --dry-run flag to preview what would run

Add a --statement-timeout option

These are now on the roadmap.