将Rails应用程序升级到Rails 5后,运行RSpec测试会出现以下错误:

rails aborted!
ActiveRecord::NoEnvironmentInSchemaError: 

Environment data not found in the schema. To resolve this issue, run: 

    bin/rails db:environment:set RAILS_ENV=test

然而,bin并不存在,我似乎无法用bundle binstubs railsrake rails:update:bin生成它.

我也try 过:

rails db:environment:set RAILS_ENV=test
rake db:environment:set RAILS_ENV=test

Github here上有一个相关问题.

我如何解决这个错误?

推荐答案

新的Rails 5命令生成binstubs:

rails app:update:bin

允许我按照错误建议运行解决方案:

bin/rails db:environment:set RAILS_ENV=test

@max comment的提示:如果您使用database_cleaner,并且这个错误不断出现,那么将您的配置更改为:

DatabaseCleaner.clean_with(
  :truncation,
  except: %w(ar_internal_metadata)
)

Ruby-on-rails相关问答推荐

使用Hotwire/Turbo的Rails在链接悬停时获取请求

Rails文档的悲观锁定示例中的争用条件

Rails:当 id 方法为非标准时构建关联

ArgumentError 用于 Ruby on Rails 中非常简单的初始化方法,没有参数

Rails - 如何使用子对象的嵌套属性和强参数填充父对象ID?

Ruby Sinatra Web 服务在 localhost:4567 上运行,但不在 IP 上

Rails 3 中图像路径的完整 url

jbuilder vs rails-api/active_model_serializers 用于 Rails 4 中的 JSON 处理

价格字段的字符串、小数或浮点数据类型?

rspec 共享示例与共享上下文

在 Rails 中将表格行变成链接

如何验证 ActiveRecord 中邮箱字段的格式?

使用 AJAX 向 Rails 发送 Authenticity Token 的正确方法

使用 rvm 更新 ruby​​ 版本后收到警告消息Path set to RVM

设计/Rails - 如何删除特定的 Flash 消息? (登录成功)

使用 PostgreSQL 的模式和 Rails 创建多租户应用程序

如何在 rake 任务中强制 RAILS_ENV?

从模型中获取验证

将现有的 html.erb 转换为 Haml

Rails 在 id 字段上重置种子的方法