有一个迁移已经应用并提交给github。它包含一个自定义代码,这意味着它要做“向下”。实际上,方法“down”是空的。我可以删除一个数据库,因为数据中的数据不多,所以没问题。
现在我需要更改此迁移,具体来说,我需要完全更改它。所以我需要以某种方式撤消它,提交到github并允许我们命令的其他成员应用它。
我该怎么做?
请注意,这不是最后一次迁移,在此之后还有其他迁移。
答案 0 :(得分:2)
我认为最好的办法是编写一个新的迁移来执行撤消并推送 。正如我所说,迁移是关于更改现有数据库而不是创建新数据库 - 这就是为什么你在两个地方进行了更改 - 迁移和db / schema.rb - 并且有些人实际建议删除旧的迁移。
答案 1 :(得分:1)
您可以创建新迁移或更改该迁移,然后在应用之前执行回滚。 按照文档中的说法使用VERSION:
rake db:migrate#迁移数据库(选项:VERSION = x,VERBOSE = false)。
rake db:migrate VERSION=x
change your migration file
git commit
rake db:migrate