0

アプリをローカルでテストしていたところ、データベースがデッドロック状態になりました。それについて何をすべきかをグーグルで調べた後、それは単なる開発だったので、データベースを吹き飛ばして再作成することにしました。

これだけではうまくいきません。データベースを数回再作成しましたが、問題はありませんでした。

db:drop ok と db:create を実行できますが、db:migrate を実行するとハングします。

プロセスがデータベースに何らかのロックを持っていたが変更がない場合に備えて、再起動しました。

エラーはありません。 --trace を実行すると、賢明ではありません。

問題のデバッグを開始する場所であっても、任意の助けをいただければ幸いです

これは、データベース構成用に持っているものです...

開発: アダプター: sqlite3 データベース: db/dev.sqlite3 プール: 5 タイムアウト: 5000

テスト: アダプタ: sqlite3 データベース: db/test.sqlite3 プール: 5 タイムアウト: 5000

ありがとう

4

1 に答える 1

0

私はこれが答えられたと言うべきかどうかについて100%ではありませんが、それは修正されています。これを期待してくれたあなたの助けに感謝し、私はenvironment.rb、application.rb、boot.rbを見始めました。あまり入れませんでした。Environment.rbにmy_app::Application.initialize!という行がありました。

これが凍りついた場所だったと思います。私はこれをコメントアウトし、webrickが十分に読み込まれることを確認しました。失敗したとしても、少なくともrake db:migrateを実行でき、railsコンソールにも入ることができました。明らかに、私がコメントした行がなければ、アプリはまったく機能しませんでした。そのため、さまざまなものをコメントアウトしてコンソールを起動しました。最終的にコメントアウトされたのはmy_app::Application.initializeだけでした。ライン。

私はレールコンソールにそのラインを入力し、それがハングしました。キャンセルしてさらに数回試してみましたが、数回行った後は問題なく動作しました。理由はわかりません。私は同様の問題を抱えている他の誰かに出くわしましたが、彼は明白な理由もなく奇跡的に働き始めました。残念ながら、私は同じ船に乗っており、将来これを経験する人にはあまり役に立ちません。

アプリの初期化には間違いなく何か問題がありましたが、正確にはわかりません。

このリンクでは、レールの初期化プロセスを詳細に説明しているため、誰かが同様の問題を抱えている場合は、アイデアを得るために読んでください。

http://guides.rubyonrails.org/initialization.html

于 2012-09-14T04:27:59.727 に答える