0

エラーメッセージが表示され続けます:

SQLite3::BusyException: database is locked: INSERT INTO "users" ("created_at", "email", "name", "password_digest", "updated_at") VALUES (?, ?, ?, ?, ?)

コードを実行しようとすると:

@user = User.new(:name => "User1", :email => "email@gmail.com", :password => "password", :password_confirmation => "password")
@user.save

ユーザーの作成後に保存を呼び出すと問題がありますか? タイムアウトは必要ですか? もしそうなら、データベース変数を設定/取得するにはどうすればよいですか。

ここで何が問題なのかわかりません。保存機能を削除すると、@user 変数の属性を出力できるため、User 変数は問題なく作成されています。私はひどく間違ったことをしていると思います。ユーザーをハードコーディングするべきではないことは理解していますが、テスト目的で行っています。

ここで何が起こっているのですか?

編集:

データベースにアクセスしようとしましdropたが、sqlite3 ファイルが見つからないと不平を言っています。ただし、不平を言う正確なパスに移動すると、ファイルは の下にリストされていますls

これが私の問題だと思います。これは何を意味するのでしょうか?

4

1 に答える 1

3

Rails サーバーの実行中にこれを実行しようとしていますか?

または、SQLite Database Browser などのツールを使用して、テーブルの行を手動で挿入または削除しようとしましたか?

Sqlite の同時実行サポートは貧弱であり、データベースを少しスローするアクションはビジー例外をスローします。

エラーが引き続き発生し、データベース内のデータがそれほど重要でない場合は、データベースを削除して再度移行してください。エラーはなくなるはずです。

于 2012-11-02T17:52:03.403 に答える