2010-11-23 18 views
1

私はHerokuのに私のアプリをプッシュしたし、今「$ Herokuのすくいデシベル:移行」を実行しようとしています。私はこのエラーを取得する:Ruby On Rails Heroku db:移行中止しました!

PGError:ERROR:リレーション "棚卸" 存在しません: "在庫" SELECT * "在庫"

からの私のローカルマシンのすべてで素晴らしい作品。ローカルではSQLite 3を使用しています。また、以前のバージョンのアプリは正常に機能しました。以前のバージョンにはインベントリモデルが含まれていました。今、私は(ほとんど)この問題については、stackoverflowとWeb上のすべてのポストを読んだが、私はまだそれを回避する方法を見つけることができません。誰にもこれを働かせるためのアドバイスはありますか?ここ

ルビー1.9.2 ROR 3

UPDATE .. は在庫表を作成し、移行ソースである:

class CreateInventories < ActiveRecord::Migration 
    def self.up 
    create_table :inventories do |t| 
     t.decimal :initial_amount, :precision => 10, :scale => 2 
     t.decimal :remaining_amount, :precision => 10, :scale => 2 
     t.string :unit 
     t.decimal :cost, :precision => 10, :scale => 2 
     t.integer :type_id 
     t.integer :brand_id 
     t.integer :blend_id 
     t.integer :user_id 
     t.boolean :in 

     t.timestamps 
    end 
    end 

    def self.down 
    drop_table :inventories 
    end 
end 
+0

あなたのテーブル名は、「在庫?」を確認してください「在庫」のためであるといません –

+0

うん、ここでは、スキーマ内にある:CREATE_TABLE "棚卸"、:力=>真DO | T | –

答えて

1

SOLUTION:私は最終的に問題を考え出しました。ユーザーモデルにこの方法がありました。

def self.search(id) 
    @inventory = Inventory.where(:primary_user [id]) 
    @cups = Cup.where(:user_id [id]) 

    @inventory + @cups 
end 

何らかの理由で、エラーが発生しました。代わりに@user.inventories@user.cupsを使用するように更新しました。みんなありがとう。

1

エラーがテーブルがリモート存在しないことを示しています。データベースの変更は、すくいデシベルタスクの外で発生している場合を除き、テーブルを作成しているために移動する:私は、以前のデシベルを期待 http://docs.heroku.com/database#common-issues-migrating-to-postgresql

:これを参照してください。これを同期させるのはむしろ簡単だとわかりました。特定のマイグレーションを実行するには、必要なマイグレーション方法(上または下)と実行するマイグレーションのタイム・スタンプを指定します。例:

heroku rake db:migrate:up VERSION=20101108092153 

これにより、2010年11月8日午前9:21:53に生成された移行が実行されます。 db /フォルダー内のマイグレーションをブラウズして、欠落している表を含むマイグレーションを見つけることができます。

+0

バージョンの使い方を説明してくれてありがとう。私はいくつかの異なるバージョンでその行を走らせましたが、それでも同じエラーがありました。上記のコメントにエラーを貼り付けました。あなたが参照した記事を読んで、ActiveRecord :: Base.connection.tables を実行して、テーブルが作成されているかどうかを調べてみました。私はそれが無効なコマンドであったと言うエラーを受けました。これをデバッグする方法に関するアイデアはありますか?ありがとう。 –

+0

初めてHerokuに移行したことはありますか?もしそうなら、あなたはPostgresをローカルで使っていますか? –

+0

いいえ、はいです。私はHeroku上のアプリを持っていたが、それを破壊し、ゼロから試した。アプリが以前に移行されたときに同じエラーが発生し、新しいアプリでエラーが発生しました。私はsqlite 3をローカルで使用しています。 –

1

はあなたの移行に在庫モデルを使用したことがありますか?たとえば、ローカルデータベースを移行した後に移行ファイルを編集した場合など、移行にエラーが発生している可能性があります。 rake --trace db:migrateを実行しているいずれの場合においても

は、一緒にスタックトレースで、あなたの全体のエラーメッセージを表示する必要があります - あなたは、コードの問題の行を見つけます。

UPDATE:あなたのスタックトレースで

(リンクはコメントである)1つの不審な行がある:

...0-d4e1268c8981/mnt/config/environment.rb:5 

何のコードがありますか?

+0

トレースは以下のようになります:http://pastie.org/private/keoyrgixjf6sdv7gy8tfqa。 Unfortuanatly、私はそれが私にエラーがある特定のファイルまたはラインを与えることはわかりません。 –

+0

あなたのconfig/environment.rbの5行目にあるものは何ですか? – Arsen7

+0

FIP :: Application.initialize!このアプリは私が取り組んでいた別のアプリに基づいていました。このように更新する必要があるかもしれません。更新してお知らせします。 –

関連する問題