数据库更改和VCS分支

时间:2009-08-25 22:06:12

标签: mysql database branch

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

让我们假设我不能像往常一样使用普通的trunk数据库,因为我经常为其他分支使用,在这种情况下,我实际上需要为我的分支机构提供数据库的新副本。

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

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

我知道我可以做出前瞻性的改变,但我宁愿不要不必要地留下旧桌子和田地。

1 个答案:

答案 0 :(得分:1)

我无法想到这样做的干净解决方案。我只是走了mysqldump“trunk”数据库的路线,然后将其加载到“branchA”数据库中。

如果你保留了从主干到分支版本所需的CREATE,ALTER等命令集,能够保持数据新鲜,那么你可以针对主干或实时数据的副本运行此命令每次你想要一组新的数据。这样做并将此脚本置于版本控制之下意味着当您准备好将分支合并回主干并进行部署时,您已经非常容易在生产中执行此操作。

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