用于DVCS的SQL迁移工具

时间:2011-05-18 19:46:41

标签: sql database-migration

大多数(如果不是全部)现有迁移工具都认为迁移历史是线性的。因此,当您创建新的迁移时,您将获得版本42或其他任何内容,然后每个人都可以在收到您的更改后更新到此版本。

问题在于,如果您使用DVCS,则两个人可以同时使用42版。这意味着解决冲突将变得非常微不足道,令人痛苦。 :)

所以我的问题是 - 我应该推出自己的系统还是在野外有什么东西?优选简单,友好* nix。我打算主要使用mysql和postgresql。

1 个答案:

答案 0 :(得分:0)

在Rails中,处理此问题的方法是将日期附加到文件的开头,格式为YYYYMMDDHHMMSS_migration_descriptor.rb

然后通过跟踪版本号来跟踪表中应用了哪些迁移。这使您可以在版本号低于最新更改的表上运行迁移,从而大大简化了DVCS问题。

你可能没有使用Rails,但我认为他们解决这个问题的方式非常好。您可以阅读有关Rails迁移on the API docson the Rails guides的更多信息。