Konwersja .db do .db-shm

0

Mam na dwóch różnych Androidach zainstalowaną taką samą aplikację, w tej samej wersji. Niestety, backup w jednej nie otwiera się w drugiej komórce. Zauwazyłem, że w jednej pliki mają rozszerzenie db (SQLite), a w drugiej db-shm i db-wal.
I właśnie z db do db-shm nie chce mi przenieść backipa. Jako, że mam tam troche danych, to nie chce mi się przepisywać tego.
Czy jest jakieś narzędzie, które potrafi z db zrobić db-shm, czy też to nic nie da? Jak inaczej mogę wepchnąć dane do nowej bazy?

0

Rozszerzenia db-shm i db-wal, które widzisz w drugiej komórce, to pliki, które są związane z mechanizmem journalingu w SQLite. Pliki te są tworzone wtedy, gdy baza danych jest otwarta w trybie "Write-Ahead Logging" (WAL), który jest domyślnie włączony w nowych wersjach SQLite.

W przypadku, gdy przenosisz backup z jednej komórki do drugiej, nie musisz martwić się o pliki db-shm i db-wal, ponieważ te pliki są generowane automatycznie i będą się różnić w zależności od sposobu, w jaki aplikacja korzysta z bazy danych.

W przypadku, gdy chcesz przenieść dane z jednej bazy danych do drugiej, możesz skorzystać z narzędzi takich jak SQLite Database Browser lub DB Browser for SQLite. Możesz użyć tych narzędzi do utworzenia kopii bazy danych, a następnie importować dane z kopii do nowej bazy danych.

Aby utworzyć kopię bazy danych w SQLite Database Browser, wykonaj następujące kroki:

Otwórz aplikację SQLite Database Browser.
Kliknij przycisk "Open Database" i wybierz plik z bazą danych, którą chcesz skopiować.
Kliknij przycisk "File" i wybierz opcję "Export".
Wybierz format eksportu, np. CSV, SQL lub SQLite.
Wybierz lokalizację i nazwę pliku, w którym chcesz zapisać kopię bazy danych.
Kliknij przycisk "OK", aby rozpocząć proces eksportu.

Aby zaimportować dane z kopii do nowej bazy danych, wykonaj następujące kroki:

Otwórz aplikację SQLite Database Browser.
Kliknij przycisk "Open Database" i wybierz plik z nową bazą danych.
Kliknij przycisk "File" i wybierz opcję "Import".
Wybierz format importu, np. CSV, SQL lub SQLite.
Wybierz lokalizację i nazwę pliku, z którego chcesz zaimportować dane.
Wybierz tabelę, do której chcesz zaimportować dane.
Kliknij przycisk "OK", aby rozpocząć proces importu.

0

Wreszcie udało mi się z tym problemem uporać. Okazało się, że jeden plik był jakoś dziwnie uszkodzony, że aplikacja go nie widziała. Zrobiłem backup w aplikacji (prawie że pustej bazy danych) i w DBeaver przekopiowałem do tego backupu odpowiednie tabelki ze starej bazy. (swoją drogą DBeaver ma za...ste narzędzie do przenoszenia danych pomiędzy bazami )
I poszło :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1