【Railsエラー】SQLite3::CorruptException: database disk image is malformed: ...etc


Railstu Torialで、間違ってデータベースを削除してしまい以下のエラーで怒られて調べた結果、解決できたので備忘録として残します。

SQLite3::CorruptException: database disk image is malformed: SELECT name FROM sqlite_master WHERE name <> 'sqlite_sequence' AND name = 'schema_migrations' AND type IN ('table')

原因

調べたところ、データベースが破損しているとのことで色んな記事で以下のコマンドを試すとOKとあり、試してみるも解決できず

$ bundle exec rails db:drop
$ bundle exec rails db:create
$ bundle exec rails db:migrate

解決方法

「development.sqlite」「test.sqlite」のファイルを削除する。

②その後、ターミナルで以下を順にうってみる。

$ bundle exec rails db:create
$ bundle exec rails db:migrate

これで復旧できました。

参考記事

Railsのデータベースのエラー