Ask HN: What database version management tools do you use?
A company I work with is looking for a way to track changes made to its developer, QA and production databases and have some kind of systematic approval process built into the tool like how gitlab can require someone to review the code before it can be submitted. Each alter query could be submitted then approved and then “merged” with the main DB
7 comments
[ 0.22 ms ] story [ 29.6 ms ] threadBut the more involved process you describe above was done manually at the stateside healthcare company I worked for: they had a team of DBAs that would review migrations and design and such and approve them. The chansges would go to staging. QA would test doing integration and other tests. And if passed it would roll out to production and if it failed for whatever reason it would go back to the developers. And then back to the DBAs for review and then to QA etc etc.
Other noteworthy tools include Sqitch. It is a super flexible migration tool. https://sqitch.org
We have the documentation in txt/md files inside the git repo. With a checklist for developers.
Then documentation for DBA to review.
Special attention on UPDATEs/DELETEs on user generated data.
Folders procedures, schema, and data.
Procedures are full, idempotent, execute everytime.
Schema is transactional, files starting with datetime.
Data is idempotent, execute everytime. Using sql server MERGE.
The Java migrations are fairly handy for calling web services etc
Good for standing up end-to-end tests too.