
忘備録。
Railsの開発環境にて、SQLiteをツールとかで直接いじっていると、稀に以下のようなエラーを出力することがあります。
「ActiveRecord::StatementInvalid (SQLite3::IOException: disk I/O error: PRAGMA table_info("users")):」
(usersは読み込み内容によって変化。そもそもDBが読み込めないので、先頭で読み込もうとした内容がエラーとして出力されます。大抵はusers)
これは「DB Browser for SQLite」で書き換えを行った際、開発環境のデータの更新を待機させていることで、RailsのDB読み込みと衝突して、発生すると考えています。
(それとは別に、SQLiteを破損させても生じる気がする)
この問題への解決は、
rake db:drop db:create db:migrate db:seed
rake db:drop db:setup
辺りを見かけますが(要はデータベースの作り直し)、そもそも、原因がDBではなく「DB Browser for SQLite」の書き込み待機状態にあったりもするので、その場合は「DB Browser for SQLite」を再起動するだけで解決します。










