使用数据库changset工具可能非常有用.我已经使用liquibase(http://www.liquibase.org)来管理数据库的版本控制.我会热烈地向任何人推荐这个工具.Liquibase支持变更集,具有可配置的回滚方案.但是,它是用于管理模式的工具,而不是实际数据.我不会尝试使用它来保持表数据是最新的.
但是,我仍然认为最好的办法是使用liquibase,并为不同的源分支使用不同的模式.
为了处理克隆,您的数据库应该设计为多用户的。
对于架构中的更改,请将该分支的架构更改作为存储库的一部分提交。
那么你必须下定决心,对于每一种模式,你是在一个数据库中运行多个表空间,还是在多个数据库中运行等等?然后提交一个指向正确指针的指针作为该分支中安装配置的一部分。