0

私はsqliteデータベースとwalとcheckpointで更新する方法について多くのスレッドを読みましたが、インターネット上のすべての情報にもかかわらず、私は本当に理解していません.

デスクトップ コンピューター上の 2 つの sqlite データベースを Python スクリプトを使用してマージしますが、新しいファイル (store.data) を Xcode のフォルダーに戻し、古いファイルを置き換えると、実行時にアプリがクラッシュします (エラー 259)。これは、元の wal/shm ファイルが新しいデータベース (新しい情報/列/行を持つ) を認識しないために発生すると思いますが、このファイルから新しい wal/shm を作成する方法がわかりません。または、データベースをマージすると同時にそれらを変更する必要がありますか?

編集: sqlite ブラウザー アプリで PRAGMA wal_checkpoint(RESTART) を実行すると正常に動作します... Xcode フォルダー内の古いファイルを置き換えますが、新しいリビルドを作成した場合にのみ動作し、シミュレーターで開いた場合には動作しません...アプリを再構築せずに起動するだけなので、これは実際のデバイスでは問題になりませんか? それを回避する方法はありますか?

4

0 に答える 0