假设我正在开发一个使用数据库的Web应用程序,并且在我的版本控制系统中创建了一个分支,需要对数据库进行重大更改。

假设我不能像其他分支一样经常使用普通的主干数据库,在这种情况下,我实际上需要为分支使用数据库的新副本。

现在,假设我有另一个分支,它需要数据库的另一个副本。我是否应该再创建两个数据库副本?有没有办法分支我的数据库?你们都做什么?

我正在使用MySQL。我只想使用一个MySQL实例。也许有一个MySQL版本可以使用DSN进行类似的操作? Server = myServerAddress; Database = myDataBase?version = 123; Uid = myUsername; Pwd = myPassword;

我知道我可以进行仅向前的更改,但是我宁愿不要将不必要的旧表和字段留在身边。

最佳答案

为此,我没有想到的干净解决方案。我只是沿着mysqldump的“ trunk”数据库走,然后将其加载到“ branchA”数据库中。

在保持数据新鲜的前提下,如果保留了将您从干线迁移到分支版本所需的CREATE,ALTER等命令集,则可以每次对干线副本或实时数据运行此命令想要一组新的数据。这样,将脚本置于版本控制之下,意味着当您准备好将分支合并回主干并进行部署时,就可以在生产环境中轻松完成此任务。

您可以采用LVM快照,虚拟机快照等方法来制作数据库数据或计算机的完整副本,但是我认为这可能过于复杂。

关于mysql - 数据库更改和VCS分支,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1331296/

10-12 12:52
查看更多