如何像SVN那样管理一个有分支和主干的数据库

How to manage a database with branches and trunk like SVN

我有一个在 java 中使用 postgres 9.4 中的数据库开发的 Web 应用程序项目,我们使用 SVN 对代码进行版本控制,为项目中的更改创建分支,并在更改准备就绪和测试时正在合并到具有正常工作项目的主干。

现在的问题是数据库是唯一的,没有版本控制,我们直接在单个数据库中进行更改,然后如果我们要将其用于主干版本可能会出错,因为数据库已更改尚未在主干版本中实现。

我们尝试处理数据库的副本以及分支,但发生在我们身上的事情是,在更改后我们并不总是更新数据库主干,因此我们产生了错误。

有什么方法可以将数据库更改包含在 SVN 中吗? 处理这些变化的最佳方式是什么?

您可以使用允许您管理迁移文件的工具。例如,我正在考虑 phing。

Here 是文档。 Here 是一个例子。

希望这会有所帮助