【问题标题】:relation "delayed_jobs" does not exist in Rails 3.0.3 cucumber testsRails 3.0.3 黄瓜测试中不存在关系“delayed_jobs”
【发布时间】: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:inwith_scope' ./features/step_definitions/web_steps.rb:28:in /^(?:|I )press "([^"]*)"(?: within "([^"]*)")?$/' features/admin/item_create.feature:20:in然后我按“创建”'

有什么想法吗? 谢谢

【问题讨论】:

  • 遇到同样的错误,你是怎么解决的?任何帮助表示赞赏。

标签: ruby-on-rails postgresql cucumber delayed-job


【解决方案1】:

即你应该运行rake db:test:clone

【讨论】:

    【解决方案2】:

    可能您还没有在测试数据库上运行迁移。

    【讨论】:

    • 为什么这不会自动发生?
    【解决方案3】:

    请使用

    rake db:migrate:up VERSION=20080906120000 RAILS_ENV=test
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多