プログラム「SQlite Database Browser」を使用して、sqlite データベースに取り組みました。プログラムがクラッシュし、変更内容が失われました。しかし、db-journal ファイルはまだそこにあります。ジャーナル ファイルを使用してデータベースを回復するにはどうすればよいですか? SQLite Database Browser でデータベースを開くと、古いデータベースが開きました。
私に何ができる?
ありがとう :-)
Write-Ahead ロギングを有効にしない限り、残念ながら、変更内容はおそらく失われます。SQLite のデフォルトのジャーナリング システムは、予想とは逆に機能します。
ドキュメントから:
従来のロールバック ジャーナルは、変更されていない元のデータベース コンテンツのコピーを別のロールバック ジャーナル ファイルに書き込み、変更内容をデータベース ファイルに直接書き込むことによって機能します。クラッシュまたは ROLLBACK が発生した場合、ロールバック ジャーナルに含まれる元のコンテンツがデータベース ファイルに再生され、データベース ファイルが元の状態に戻されます。
見る:
WAL: https://sqlite.org/wal.html
ジャーナルを含むファイル形式: https://sqlite.org/fileformat.html