【问题标题】:How to automatically migrate the development and test databases with `rails db:migrate` and Spring?如何使用 `rails db:migrate` 和 Spring 自动迁移开发和测试数据库?
【发布时间】:2019-03-25 03:22:07
【问题描述】:

我了解rails db:migrate只会影响开发数据库。

在运行 rspecguard-rspecspring 时,测试环境不会自动应用迁移。相反,您必须让guard 失败,手动运行RAILS_ENV=test rails db:migrate,然后再次运行您的rspec 守卫。这是根据此问题的预期行为:https://github.com/rails/rails/issues/25804

我怎样才能让rails db:migrate 同时为这两个环境执行此操作,或者让spring rspec 也自动为测试环境运行挂起的迁移?

我宁愿避免使用 bash/zsh/shell 别名,因为它必须在每个人的机器上手动设置。

【问题讨论】:

  • 您链接到的 github 问题说默认行为是迁移自动在测试环境中运行。
  • 除非您使用 Spring 运行 rspec,否则它们不会自动运行。
  • 你没有。 RAILS_ENV=test rails db:migrate && RAILS_ENV=development rails db:migraterails db:migrate db:test:prepare。这是设计使然。

标签: ruby-on-rails rspec-rails


【解决方案1】:

正如@stuart 在 cmets 中所说,唯一的方法是RAILS_ENV=test rails db:migrate && RAILS_ENV=development rails db:migraterails db:migrate db:test:prepare

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-16
    • 2012-04-13
    • 1970-01-01
    • 2013-06-28
    • 2011-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多