I've tried a bunch of other migration tools but I don't think anyone has done a better job of it than Rails has.
>and code-generate the basic CRUD Go stuff from the schema
I guess you read schema.rb and output some structs and methods? Because a quick Google search only yielded some Yeoman plugins …
There's a bunch of tools that do this already (one I know works is "xo"), but I wanted join-table support.
We're using it in production on a few CoreOS projects.
Code for this here - it'd be pretty simple to put it in its own little tool or even a bash script or something, and there are surely some other tools that do something similar... This one psql only as it relies on the psql binary to load the sql, but hopefully gives you the idea. I haven't bothered developing it further to do things like run a single migration or down migrations as haven't required that so far.
https://github.com/fragmenta/fragmenta/blob/master/migrate.g...
Quite simple, does the job.
(1) https://www.npmjs.com/package/sql-migrations
I use something I wrote myself (see link in other comment). Nothing fancy and could be replicated easily - save sql files for migrations, run migration if not in db already, then store in the db the name of the migration run.