rake db迁移问题

时间:2011-10-07 05:12:37

标签: ruby-on-rails database-migration dbmigrate

有关数据库迁移任务的一些问题(rake db:migrate)

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

1 个答案:

答案 0 :(得分:3)

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

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

如果它困扰你那么多,是的。它也会打扰我。

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

将迁移提交到您的版本控制系统后,它应保持不变。如果它被修改,那么您和其他开发人员需要前后滚动以便再次进行更改。如果您从不接触旧迁移并解决新迁移中的任何问题,那将会好得多。此规则有例外情况,当您遇到它们时会很明显。

例如意外丢弃整个表格的迁移。

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

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

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