我需要回滚 ruby on Rails 项目的迁移
我不小心删除了我的迁移文件,[ID:20180214033313]。
我的迁移状态
我尝试执行 bundle exec rake:db rollback
但没有帮助,我也尝试了 bundle exec rake db:migrate:down VERSION=20180214033313
但它给出了我的错误如下,
ActiveRecord::UnknownMigrationVersionError:
No migration with version number 20180214033313>
关于如何解决这个问题有什么建议吗?
最佳答案
啊啊,今天我在删除迁移后遇到了同样的问题。这可能是你的情况......
要重新安装现有迁移,请执行迁移重置:
rails db:migrate:reset
为了充分了解迁移,我的 12 点指南:
db:migrate 运行尚未运行的(单个)迁移。
db:create 创建数据库
db:drop删除数据库
db:schema:load 在 schema.rb 之后的现有数据库中创建表和列。这将删除现有数据。
db:setup 执行 db:create、db:schema:load、db:seed
db:reset 执行 db:drop、db:setup
db:migrate:reset 执行 db:drop、db:create、db:migrate
db:migrate:redo 根据指定的迁移运行 (db:migrate:down db:migrate:up) 或 (db:rollback db:migrate)
db:schema:dump 转储当前环境的架构(并且似乎也创建了数据库)
db:forward 将当前架构版本推进到下一个架构版本
db:seed(仅)运行 db/seed.rb 文件
db:migrate:down 回滚一个特定迁移
关于ruby-on-rails - 在我的情况下如何回滚 ruby on Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48779860/