2013-06-20 111 views
0

有一个迁移已应用并承诺github。它包含一个自定义代码,这意味着它是“下”。实际上,“down”方法是空的。我可以删除一个db,因为它里面的数据不多。撤销迁移

现在我需要改变它这种迁移,具体来说,我需要完全改变它。所以我需要以某种方式撤销它,承诺github并允许我们的命令的其他成员应用它。

我该怎么做?

请注意,这不是最后一次迁移,在此之后还有其他迁移。

回答

2

我认为你最好的选择是编写一个新的迁移,执行撤消并推动。正如我收集的,迁移是关于改变现有的数据库,而不是创建一个新的数据库 - 这就是为什么你有两个地方的变化 - 迁移和db/schema.rb - 一些人实际上建议删除旧的迁移。

2

您可以创建新的迁移或更改该迁移,并在应用之前执行回滚。 按文档所述使用VERSION:

rake db:migrate#迁移数据库(选项:VERSION = x,VERBOSE = false)。

rake db:migrate VERSION=x 
change your migration file 
git commit 
rake db:migrate 
+0

但我该如何让我的命令的所有成员自动执行它? –