在将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 rails或rake rails:update:bin生成它。
我也尝试过:
rails db:environment:set RAILS_ENV=test
rake db:environment:set RAILS_ENV=testhere上有一个相关的问题。
如何解决此错误?
发布于 2016-07-05 17:33:22
生成binstub的新Rails 5命令:
rails app:update:bin允许我按照错误建议运行解决方案:
bin/rails db:environment:set RAILS_ENV=test@max注释提示:如果您正在使用database_cleaner,并且该错误不断弹出,那么将您的配置更改为:
DatabaseCleaner.clean_with(
:truncation,
except: %w(ar_internal_metadata)
)发布于 2016-07-12 02:59:46
对我来说,这个错误之后是一个类似的请求迁移的错误。
这就是诀窍:rails db:migrate RAILS_ENV=test
发布于 2018-02-16 00:55:03
然而,如果您在一个更独特的项目中,例如开发带有模式概念的rails引擎(我知道,hacky),并且您的迁移由于某种原因而失败,那么您可以在不检查引发此异常的检查的情况下重新运行它。示例:
rake environment db:{drop,create,migrate} DISABLE_DATABASE_ENVIRONMENT_CHECK=1
https://stackoverflow.com/questions/38209186
复制相似问题