我做了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
答案 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都大的数字