Generally the hardest thing with version control on a database (for an evolving codebase) is separating unrelated changes - such as schema changes vs content updates - and branching and merging those changes in sync with the code dependencies. Another issue is non-destructively replaying development changes into test/production environments. So for example, you might have a feature branch that includes some schema ch…
This sounds like something Sqitch would help with. http://sqitch.org
Last I used sqitch, it returned a zero value on error, which made me leery of using it for scripted deployments.