Rails 3.0.3 黄瓜测试中不存在关系“delayed_jobs”
Posted
技术标签:
【中文标题】Rails 3.0.3 黄瓜测试中不存在关系“delayed_jobs”【英文标题】:relation "delayed_jobs" does not exist in Rails 3.0.3 cucumber tests 【发布时间】:2010-11-21 21:10:26 【问题描述】:我正在运行带有 Postgres 9.0.1 和延迟作业 2.1.1 的 Rails 3.0.3。我在 after_save 回调上为 Solr 重新索引配置了延迟作业,这在开发中效果很好。在为相关模型的 create 方法运行黄瓜测试时,我得到:
(::) 失败的步骤 (::)
PGError:错误:关系“delayed_jobs”不存在
第 4 行:在哪里 a.attrelid = '"delayed_jobs"'::regclass
^
: 选择 a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
FROM pg_attribute a LEFT JOIN pg_attrdef d
在 a.attrelid = d.adrelid 和 a.attnum = d.adnum
WHERE a.attrelid = '"delayed_jobs"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
由 a.attnum 订购
(ActiveRecord::StatementInvalid)
./app/controllers/admin/items_controller.rb:11:in create'
./features/step_definitions/web_steps.rb:29
./features/step_definitions/web_steps.rb:14:in
with_scope'
./features/step_definitions/web_steps.rb:28:in /^(?:|I )press "([^"]*)"(?: within "([^"]*)")?$/'
features/admin/item_create.feature:20:in
然后我按“创建”'
有什么想法吗? 谢谢
【问题讨论】:
遇到同样的错误,你是怎么解决的?任何帮助表示赞赏。 【参考方案1】:即你应该运行rake db:test:clone
【讨论】:
【参考方案2】:可能您还没有在测试数据库上运行迁移。
【讨论】:
为什么这不会自动发生?【参考方案3】:请使用
rake db:migrate:up VERSION=20080906120000 RAILS_ENV=test
【讨论】:
以上是关于Rails 3.0.3 黄瓜测试中不存在关系“delayed_jobs”的主要内容,如果未能解决你的问题,请参考以下文章
Ruby on Rails。捆绑器。黄瓜。耙中止!命令失败,状态为 (1)