Bitte haben Sie Geduld mit mir - ich werde versuchen, die richtige Terminologie in dieser Frage zu verwenden. Ich habe eine iOS-App, mit der die Benutzer seit mehreren Jahren Backups ihrer mit Core Data unterstützten sqlite-Datenbank erstellen können. Aus irgendeinem Grund, damals, habe ich die Pragma-Option für journal_mode auf "MEMORY" gesetzt, was bedeutet, dass jede der Backups, die in den letzten Jahren gemacht wurden, keine WAL- oder SHM-Datei haben. Ich überschreibe meinen gesamten Datenbankcode, und ich weiß, dass der aktuelle Standard journal_mode für iOS "WAL" ist. Wenn ich ein Backup, das mit journal_mode "MEMORY" erstellt wurde, importiere, möchte ich irgendwie mit der Datei im WAL-Modus arbeiten (ich möchte, dass alle neuen Backups gleich sind - im WAL-Modus), aber ich bin mir nicht sicher ist sogar möglich. Kann eine einzelne .sqlite, die nie eine WAL- oder SHM-Datei hatte, gezwungen werden, sie zu erstellen? Ich versuche, die NSPersistentStore-Methoden zu verwenden, um Sicherungen zu erstellen und Daten jetzt wieder herzustellen, und ich erinnere mich zu lesen, dass die während des Prozesses (dh der journal_mode) verwendeten Optionen konsistent bleiben müssen (ich werde den Link dafür veröffentlichen, wenn ich es finden kann)). Ich glaube, da ich keine WAL-Datei habe, muss ich für den Import den journal_mode "MEMORY" oder "DELETE" verwenden. Ich bin mir jedoch nicht sicher, ob dies bedeutet, dass die Datei für immer ohne eine WAL-Datei funktionieren muss, oder ob ich etwas tun kann, um es im WAL-Modus zu betreiben. Ich hoffe, das macht Sinn - es ist ein bisschen verwirrend für mich, aber ich würde mich freuen, wenn ich darüber nachdenke, wie ich dieses Problem angehen kann.Kann ein .sqlite-Backup von Core-Daten ohne WAL-Datei im WAL-Modus wiederhergestellt werden?
1
A
Antwort
2
Sie können den Journalmodus einer Datenbank jederzeit ändern, sofern Sie exklusiven Zugriff haben. öffne es einfach und führe das PRAGMA aus. (Tatsächlich ist dies die einzige Methode, um den WAL-Modus zu aktivieren.)
Bitte beachten Sie, dass nur der WAL-Modus persistent in der Datenbankdatei gespeichert ist. jeder andere Journalmodus ist eine Eigenschaft der Verbindung; Wenn eine Nicht-Datei-WAL geöffnet ist, befindet sie sich standardmäßig im DELETE-Modus.
Verwandte Themen
- 1. Kann ein gesamtes SVN-Repository wiederhergestellt werden?
- 2. Wie kann ein Tensorflow-Modell wiederhergestellt werden?
- 3. Wie können Produktionsdaten im Freien wiederhergestellt werden?
- 4. Kann ein verschachteltes Fragment nicht gespeichert und wiederhergestellt werden?
- 5. Neues Dotnet-Kernprojekt kann nicht wiederhergestellt werden
- 6. Wie kann ein gespeichertes Tensorflow-Modell wiederhergestellt werden?
- 7. TFS: Kann ein Regalsatz an einem anderen Ort wiederhergestellt werden?
- 8. BackupAgent: "Paket kann nicht wiederhergestellt werden ..."
- 9. hybridauth - Google Login kann nicht wiederhergestellt werden
- 10. Anzeigeindex in datagridview kann nicht wiederhergestellt werden
- 11. Wie kann Android Studio wiederhergestellt werden?
- 12. Das Fragment kann nicht wiederhergestellt werden
- 13. Datenbank kann nicht wiederhergestellt werden, Datenbank wird von Sitzung verwendet
- 14. Daten können nicht von UMLS wiederhergestellt werden
- 15. Kann ein Plugin ohne Maven entwickelt werden?
- 16. Wie wird die Sitzung im Tensorflow wiederhergestellt?
- 17. Wie kann eine MNS-Datenbank gesichert/wiederhergestellt werden?
- 18. Wie können abgestreifte Changesets wiederhergestellt werden
- 19. Realm .Net - Realm.Database-Paket kann nicht wiederhergestellt werden
- 20. NuGet-Pakete werden nicht ordnungsgemäß wiederhergestellt
- 21. Wie können fehlende SKPaymentTransactions wiederhergestellt werden?
- 22. Wie kann eine Tabelle in SQLEXPRESS wiederhergestellt werden?
- 23. Diese Sicherung kann nicht mit WITH STANDBY wiederhergestellt werden, da ein Datenbankupgrade erforderlich ist. Reissue RESTORE die ohne WITH STANDBY
- 24. Datei wird im Docker-Container wiederhergestellt
- 25. Tomcat schlägt mit UnrecoverableKeyException fehl: Schlüssel kann nicht wiederhergestellt werden
- 26. Wie werden unendliche Welten gespeichert und wiederhergestellt?
- 27. Nuget JS-Dateien werden nicht wiederhergestellt
- 28. Docker-Schwarm kann nicht aus dem Status "Ausstehend" wiederhergestellt werden
- 29. MySql Verbindung über Verbindung Pool kann nicht wiederhergestellt werden
- 30. Kann eine SQL 7 DB nach SQL 2008 wiederhergestellt werden?
Ehrfürchtig. Vielen Dank. – SAHM