PGError:错误:关系“delayed_jobs”不存在(Postgresql,rails 3.04,delayed_job错误)

时间:2011-08-01 08:33:06

标签: ruby-on-rails ruby postgresql

我做了rake db:create然后rake db:migrate并遇到了这个错误。

rake aborted!
PGError: ERROR:  relation "delayed_jobs" does not exist
LINE 4:              WHERE a.attrelid = '"delayed_jobs"'::regclass
                                        ^
:             SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
              FROM pg_attribute a LEFT JOIN pg_attrdef d
                ON a.attrelid = d.adrelid AND a.attnum = d.adnum
             WHERE a.attrelid = '"delayed_jobs"'::regclass
               AND a.attnum > 0 AND NOT a.attisdropped
             ORDER BY a.attnum

2 个答案:

答案 0 :(得分:8)

您的查询正在将“delayed_jobs”转换为regclass,它将表的名称转换为PostgreSQL的内部ID号。如果无法进行演员表示您收到错误:   SELECT'foo':: regclass;   错误:关系“foo”不存在

据推测,您的迁移脚本应该捕获此错误并创建表(可能问题是它已经认为它已经这样做了)。

P.S。 - 你问题的标题没有帮助。使用“delayed_job”时PostgreSQL没有问题。你不仅没有表“delayed_job”,而且Iron的创建或迁移脚本显然存在问题。

答案 1 :(得分:0)

rake db:migrate:redo STEP = 88 88是一个比你所有的talbe都大的数字