在rails中显示待定迁移

Rea*_*nly 155 ruby-on-rails rails-migrations

是否有rake任务显示rails应用程序中的待定迁移?

jrd*_*oko 244

rake db:migrate:status将在Rails 3中完成此任务.请参阅提交.

  • `up`表示迁移已经运行.`down`表示尚未运行迁移. (12认同)
  • 捆绑执行耙分贝:迁移:状态 (2认同)
  • 你如何阅读这个命令的输出?如果行的状态为"关闭",这是否意味着它是待处理的迁移? (2认同)

the*_*eIV 36

rake db:abort_if_pending_migrations(至少在Rails 2.3.3中,不确定何时引入).描述说"如果有待处理的迁移,则会引发错误".这似乎更多地用作其他任务的先决条件,但我猜你可以将它用于你的目的.

编辑:这是刚刚生成并且未运行"测试"迁移后的输出示例

rails_project theIV$ rake db:abort_if_pending_migrations
(in /Users/theIV/Sites/rails_project/)
You have 1 pending migrations:
  20090828200602 Test
Run "rake db:migrate" to update your database then try again.
Run Code Online (Sandbox Code Playgroud)


ger*_*ter 15

rake db:version 将在Rails 2上完成此任务.


Dee*_*ale 15

此命令将列出所有迁移及其状态(UPDOWN)

Rails 3和4

rake db:migrate:status
Run Code Online (Sandbox Code Playgroud)

Rails 5

rake db:migrate:status

# Or

rails db:migrate:status
Run Code Online (Sandbox Code Playgroud)


Sai*_*ram 8

这适用于 rails 5.2

ActiveRecord::Base.connection.migration_context.needs_migration?
Run Code Online (Sandbox Code Playgroud)