gpt4 book ai didi

ruby-on-rails - 有没有办法解决 Rails 删除的迁移?

转载 作者:行者123 更新时间:2023-12-04 07:33:16 26 4
gpt4 key购买 nike

我碰巧删除了迁移,我不想恢复这些删除的迁移。

这是什么rake db:migrate:status产生:

 Status   Migration ID    Migration Name
------------------------------------------------------

up 0 ********** NO FILE *********
up 20150209023430 Create users
up 20150320184628 ********** NO FILE **********
up 20150322004817 Add roles to users
up 20150403190042 ********** NO FILE **********
rake db:migraterake db:rollback由于缺少文件,命令将不起作用。

我无意丢失我的数据,所以我不想使用 rake db:droprake db:reset .

我该怎么做才能执行 迁移 回滚 以及如何摆脱丢失的文件?

最佳答案

如果您可以找到迁移的时间戳 - 文件名的数字部分,那么您可以执行以下操作:

rake db:migrate:down VERSION=20100905201547

您可以使用 rake db:migrate:status 找到时间戳

编辑 - 当迁移文件被不可恢复地删除时

您可以通过创建一个空的迁移文件,迁移,然后回滚两次来解决这个问题。然后,确保在再次迁移之前删除空的迁移文件。
$ bundle exec rails g migration fix_rollback_error
$ bundle exec rails db:migrate
$ bundle exec rails db:rollback STEP=2
$ rm db/migrate/20200217040302_fix_rollback_error.rb
$ bundle exec rails db:migrate

关于ruby-on-rails - 有没有办法解决 Rails 删除的迁移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37697938/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com