2010-12-27 11 views
2

を初期化だから私はは、Herokuのが唯一の私のモデルのいくつか

heroku db:push 

を実行し、それが

Sending schema 
Schema:  100% |==========================================| Time: 00:00:08 
Sending indexes 
schema_migrat: 100% |==========================================| Time: 00:00:00 
projects: 100% |==========================================| Time: 00:00:00 
tasks:   100% |==========================================| Time: 00:00:00 
users:   100% |==========================================| Time: 00:00:00 
Sending data 
8 tables, 70,551 records 
groups:  100% |==========================================| Time: 00:00:00 
schema_migrat: 100% |==========================================| Time: 00:00:00 
projects: 100% |==========================================| Time: 00:00:00 
tasks:   100% |==========================================| Time: 00:00:02 
authenticatio: 100% |==========================================| Time: 00:00:00 
articles:  100% |==========================================| Time: 00:08:27 
users:   100% |==========================================| Time: 00:00:00 
topics:  100% |==========================================| Time: 00:01:22 
Resetting sequences 

を返さそして、私は

heroku console 

に行ったとき、これは

>> Task 
    => Task(id: integer, topic: string, content: string, 
を働きました

これは

>> User 
    => User(id: integer, name: string, email: string, 

を働いていた。しかし、残りはわずか

>> Project 
    NameError: uninitialized constant Project 
/home/heroku_rack/lib/console.rb:150 
/home/heroku_rack/lib/console.rb:150:in `call' 
/home/heroku_rack/lib/console.rb:28:in `call' 


>> Authentication 
    NameError: uninitialized constant Authentication 
/home/heroku_rack/lib/console.rb:150 
/home/heroku_rack/lib/console.rb:150:in `call' 

更新1のようなものを返さ:

そして、私は

>> ActiveRecord::Base.connection.tables 

を入力すると、それは

012を返さHerokuののSQLコンソールプラグイン

を使用して

=> ["projects", "groups", "tasks", "topics", "articles", "schema_migrations", "authentications", "users"] 

私は、だから私は、彼らがすでにHerokuの保有するデータベース内の既存していると思う

SQL> show tables 
+-------------------+ 
| table_name  | 
+-------------------+ 
| authentications | 
| topics   | 
| groups   | 
| projects   | 
| schema_migrations | 
| tasks    | 
| articles   | 
| users    | 
+-------------------+ 

を得ました。

ラックDBに何かおそらくあります:私はラックデシベルを実行した

更新2移行の両方の生産と開発のモードでローカルに移行し、何も間違って起こったが。私はHerokuの 上でそれを実行したとき

は、しかし、それだけで返さ:また

$ heroku rake db:migrate 
(in /disk1/home/slugs/389817_1c16250_4bf2-f9c9517b-bdbd-49d9-8e5a-a87111d3558e/mnt) 
    $ 

、私はsqlite3の

アップデート3を使用しています:

はので、私はHerokuのコンソールを開いて、入力されました次のコマンドで

class Authentication < ActiveRecord::Base;end 

驚いたことに私は認証クラスを呼び出すことができましたが、一度終了すると何も変更されませんでした。

+1

あなたはHerokuの上で、あなたの移行を実行しましたか? – Jimmy

+0

私は自分のマイグレーションを実行したと信じています – JayX

+0

私は私のdynoアドレス以外に何も表示されなかったことを除いて、私は "heroku rake db:migrate"を実行したと信じています。 – JayX

答えて

2

のようなエラーこのエラーが表示されます:

>> Project 
    NameError: uninitialized constant Project 

プロジェクトモデルが欠落していることを意味し、これはデータベースに属していません。

試してみてください。

git add . 
git commit -am 'update' 
git push heroku master 
2

あなたはそれが表示され、authenticato

はまた、あなたがHerokuのアプリの権利を再起動しました?pojectsそれを呼ばれますか

ああ、あなたはgitでファイルをコミットしていて、普通のgit push heroku masterもやりましたか?

あなたはちょうどheroku dbについて話しています。私は日常的にそのコマンドを使用することはほとんどありません。

+0

schema_migratはどうですか?私は英雄が文字列を切り捨てると思う。そして、私がメッセージを貼り付けようとしていたときに誤って "r"を削除したので、それはpojectを表示します。 – JayX

+0

奇妙な。これは、コンソールでこれを使用すると、ここに表示されますか(デベロッパーとヒロク?):Class.constants(通常は下に向かって)次に単一の定数を表示します:Class.constants.grep/Project/ – pjammer

+0

Class.constants .grep/User/ 返された=> ["User"] しかし、私はClass.constants.grep/Project /またはClass.constants.grep/Projects /を返しました=> [] – JayX

1

あなたが実際のSQLiteのテーブルが欠落していた場合、あなたがProject(Table doesn't exist)

+0

「ナンセンス」と入力したところ、同じエラーメッセージが返されました。 – JayX

+0

そうですね。言い換えれば、エラーメッセージは、そのクラスが何であるか分かりませんと言っているRailsです。 Railsが実際に何を知っていて、さらにテーブルが見つからなかった場合、 '(テーブルは存在しません)'というエラーを返すべきです。 –

+1

私が推測しようとしているのは、問題は既存のテーブルではなく、既存ではなく、レコードがないということです。問題は、クラスが全く認識されていないことです。 問題はあなたのモデルファイルにあるようです。どちらかが間違っているか、コミットに追加しなかったか、無視されています。それでもそうでないならば。コンソールに手動でクラスを作成してデバッグを試みてください。 –

関連する問題