2009-08-25 39 views
0

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

让我们假设我不能正常使用的行李箱数据库,因为我经常对其他部门做的,在这种情况下,我真正需要数据库的新副本为我的分支。

现在,假设我有一个要求数据库的另一个副本,另一个分支。我应该创建两个额外的数据库副本吗?有没有一种方法可以分支我的数据库?你们都做什么?

我正在使用MySQL。我想只使用一个MySQL实例。也许有一个MySQL版本,我可以用DSN做这样的事情?服务器= myServerAddress;数据库= MyDatabase的版本= 123; UID =名为myUsername; PWD = MYPASSWORD;

我知道我可以做出只有前进的改变,但我宁愿不要让旧的桌子和田野不必要地放在周围。

回答

1

有没有干净的解决方案,我可以想到这样做。我只需沿着“trunk”数据库的mysqldump的路线,然后将其加载到“branchA”数据库中。

就保持数据新鲜而言,如果您需要保留一组CREATE,ALTER等命令以使您从主干到分支版本,那么您可以对主干副本或活数据每次你想要一组新的数据。这样做并在版本控制下使用此脚本意味着当您准备好将分支合并到主干并部署时,您在生产中执行此操作非常容易。

你可以走LVM快照路径,虚拟机快照等来制作数据库数据或机器的完整副本,但我认为这可能会过于复杂。