0

关于 db 迁移任务的一些问题 (rake db:migrate)

  • 如果有拼写错误,重命名文件名是否有意义。(例如 CreaetFoos.rb 到 CreateFoos.rb)
  • 我在开发过程中错误地创建了一个迁移脚本(比如版本'3'),我希望将它从 git 中删除。如果我已经迁移到当前级别'6',我应该回滚到'2',从git中删除对应于'3'的迁移脚本并重新运行迁移脚本。在这种情况下,schema_migrations 会保存正确的数据吗?
  • 我想在开发过程中创建一个迁移脚本,但我不希望它被视为迁移脚本的一部分,除非我称之为完整(即我不希望其他开发人员使用不完整的迁移脚本被签入 git)。我该如何处理?
4

1 回答 1

3

一个多部分的问题!让我在适当的部分回答它们。

[问题1] 如果出现拼写错误,重命名文件名是否有意义。

如果它让你如此困扰,是的。它也会困扰我。

[问题 2] [关于删除迁移的文字墙]

将迁移提交到您的版本控制系统后,它应该保持不变。如果它被修改,那么您和其他开发人员需要回滚和前滚才能再次获得其更改。如果您永远不要接触旧迁移并解决新迁移中的任何问题,那就更好了。这条规则有例外,当你遇到它们时会很明显。

例如意外删除整个表的迁移。

[问题 3] 提交到版本控制的迁移的处理

如果您要提交不完整的工作,最好在自己的分支中工作。通过这样做,您将使主分支(可能是“master”)保持原始和完整,允许其他开发人员继续他们自己的工作。

一旦你对迁移进行了排序,你就会将该分支合并回 master。

于 2011-10-07T05:18:42.400 回答