How do people typically do migrations in production anyway - what tools are used? what are the best practices?
I think most migration tools are missing a lot of features that would make them safer and easier to use. Modern teams merge a lot and deploy frequently, but most migration tools are built for a db admin manually running commands.
I wrote a migration cli tool (and golang library) that I think is more suited to modern workflows, if you check it out I’d appreciate any feedback!
Best practice is to have your new code backwards-compatible with the old schema so you can do blue-green deployments.