Generated SQL migrations for Python, TypeScript and Go projects
Migrax started as a tool for Java: it reads JPA entities and writes the SQL migrations that
bring the database in line with them. But the idea doesn't depend on Java. Every ORM knows
the tables it expects, and almost every ORM can print them as CREATE TABLE statements.
That SQL is all Migrax needs. Keep it in a schema file, and Migrax compares it with what the existing migrations build, writes the next numbered migration with its rollback script, and applies it. This article follows a small Python project through its first changes, then shows the same loop with Drizzle in TypeScript and GORM in Go.