2011-08-01 22 views
2

私はrake db:create、その後rake db:migrateを行なったし、このエラーに遭遇しました。PGError:ERROR:リレーション "delayed_jobs" は存在しません(Postgreqsqlを、レール3.04、delayed_jobエラー)

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 

答えて

8

あなたのクエリは、PostgreSQLの内部ID番号にテーブルの名前を変換regclassデータに「delayed_jobs」をキャストしています。キャストができない場合は、エラーが発生します。 SELECT 'foo' :: regclass; エラー:relation "foo"が存在しません

おそらく、移行スクリプトはこのエラーをキャッチしてテーブルを作成する必要があります。

P.S. - あなたの質問のタイトルは役に立ちません。 PostgreSQLには「delayed_job」での作業に問題はありません。 「delayed_job」という表はありませんが、問題は明らかにRailのスクリプトの作成または移行にあります。

+0

あなたは右だと思うすべてのtalbesより大きい数でやり直し、私は手動でテーブルを挿入し、それが動作します。要求ごとにタイトルを変更しました。 –

+1

私はこの同じ問題を抱えています。手動でテーブルを挿入する方法を説明できますか? –

0

すくいデシベル:移行:STEP = 88 88は

関連する問題