ruby-on-rails - 在我的情况下如何回滚 ruby​​ on Rails

标签 ruby-on-rails

我需要回滚 ruby​​ on Rails 项目的迁移

我不小心删除了我的迁移文件,[ID:20180214033313]。

我的迁移状态

migration output

我尝试执行 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/

相关文章:

ruby-on-rails - Rails - 使用 ajax 上传图片

ruby-on-rails - 使用 Rails 和 Rspec 发布“未定义的方法”

ruby-on-rails - Rails i18n 前端、后端的不同语言环境

ruby-on-rails - 带 papertrail 的默认排序版本

ruby-on-rails - 无法在 Mac OS X 10.8 上使用 Homebrew FreeTds 捆绑安装 tiny_tds

mysql - Ruby on Rails 数据库接口(interface)

jquery - 使用 Turbolinks,jQuery 停止工作,直到硬刷新

ruby-on-rails - Rails 创建事务

css - Bootstrap : Hovering over button with custom color not changing styling

html - Rails field_error_proc 覆盖搞乱 html 结构