大多数(如果不是全部)现有的迁移工具都认为迁移历史是线性的。因此,当您创建新的迁移时,您将获得版本42或其他版本,然后每个人都可以在收到您的更改后更新到此版本。
问题是,如果您使用的是DVCS,两个人可能会同时使用42版。这意味着解决冲突将变得足够重要,以至于令人痛苦。:)
所以我的问题是--我应该使用我自己的系统,还是有什么不受欢迎的东西?最好是简单,对*nix友好。我计划将其主要用于mysql和postgresql。
发布于 2011-05-19 03:57:24
在Rails中,处理此问题的方法是以YYYYMMDDHHMMSS_migration_descriptor.rb的形式将日期附加到文件的开头。
然后,它通过跟踪版本号来跟踪表中应用了哪些迁移。这允许您在版本号低于最新更改的表上运行迁移,从而极大地简化了DVCS问题。
您可能没有使用Rails,但我认为他们解决这个问题的方法非常好。您可以阅读有关Rails迁移on the API docs或on the Rails guides的更多信息。
https://stackoverflow.com/questions/6050186
复制相似问题