【问题标题】:rake db migration issuesrake db 迁移问题
【发布时间】:2011-10-07 05:12:36
【问题描述】:
关于db迁移任务的一些问题(rake db:migrate)
- 如果出现拼写错误,重命名文件名是否有意义。
(例如 CreaetFoos.rb 到 CreateFoos.rb)
- 我在开发过程中错误地创建了一个迁移脚本(比如版本“3”),我希望将它从 git 中删除。如果我已经迁移到当前级别'6',我应该回滚到'2',从git中删除对应于'3'的迁移脚本并重新运行迁移脚本。在这种情况下,schema_migrations 会保存正确的数据吗?
- 我想在开发过程中创建一个迁移脚本,但我不希望它被视为迁移脚本的一部分,除非我称之为完整(即我不希望其他开发人员使用不完整的已签入 git 的迁移脚本)。我该如何处理?
【问题讨论】:
标签:
ruby-on-rails
database-migration
dbmigrate
【解决方案1】:
一个多部分的问题!让我在适当的部分回答它们。
[问题1]如果出现拼写错误,重命名文件名是否有意义。
如果它让你如此困扰,是的。它也会困扰我。
[问题 2] [关于删除迁移的文字墙]
一旦将迁移提交到您的版本控制系统,它应该保持不变。如果它被修改,那么您和其他开发人员需要回滚和前滚才能再次获得其更改。如果您永远不要接触旧迁移并解决新迁移中的任何问题,那就更好了。这条规则有例外,当你遇到它们时会很明显。
例如意外删除整个表的迁移。
[问题 3] 处理提交到版本控制的迁移
如果您要提交不完整的工作,最好在自己的分支中工作。通过这样做,您将使主分支(可能是“master”)保持原始和完整,从而允许其他开发人员继续他们自己的工作。
一旦您对迁移进行了排序,您就会将该分支合并回 master。