We use Liquibase with git. DB changes required for the corresponding code changes are required to be committed as a Liquibase changelog with the same branch name, and the PRs both need approval.
What we are not good about is making sure the changelogs have revert capability... some devs do it right and others not so much