首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 5,Rspec:架构中找不到环境数据

Rails 5,Rspec:架构中找不到环境数据
EN

Stack Overflow用户
提问于 2016-07-05 17:22:49
回答 7查看 33.7K关注 0票数 69

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

代码语言:javascript
复制
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生成它。

我也尝试过:

代码语言:javascript
复制
rails db:environment:set RAILS_ENV=test
rake db:environment:set RAILS_ENV=test

here上有一个相关的问题。

如何解决此错误?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2016-07-05 17:33:22

生成binstub的新Rails 5命令:

代码语言:javascript
复制
rails app:update:bin

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

代码语言:javascript
复制
bin/rails db:environment:set RAILS_ENV=test

@max注释提示:如果您正在使用database_cleaner,并且该错误不断弹出,那么将您的配置更改为:

代码语言:javascript
复制
DatabaseCleaner.clean_with(
  :truncation,
  except: %w(ar_internal_metadata)
)
票数 87
EN

Stack Overflow用户

发布于 2016-07-12 02:59:46

对我来说,这个错误之后是一个类似的请求迁移的错误。

这就是诀窍:rails db:migrate RAILS_ENV=test

票数 11
EN

Stack Overflow用户

发布于 2018-02-16 00:55:03

然而,如果您在一个更独特的项目中,例如开发带有模式概念的rails引擎(我知道,hacky),并且您的迁移由于某种原因而失败,那么您可以在不检查引发此异常的检查的情况下重新运行它。示例:

rake environment db:{drop,create,migrate} DISABLE_DATABASE_ENVIRONMENT_CHECK=1

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38209186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档