H2 Java restore.execute не восстанавливает базу данных - PullRequest
0 голосов
/ 29 апреля 2020

Итак, я пытаюсь восстановить данные из архива резервных копий. Я использую execute(String zipFileName, String directory, String db) отсюда Восстановление H2 . Это кажется довольно очевидным. Однако, когда я использую его, моя база данных не восстанавливается (так как я не получаю изменений от данных в моем приложении). Как именно это execute(name,dir,db) работает? И согласно этой ссылке, третий параметр является нулевым для всех баз данных. Почему? Что происходит с файлом резервной базы данных? Если URL базы данных в моих классах является абсолютным путем, например:

String dbPath = "jdbc:h2:/home/user/JavaProjects/DBTest/db;AUTO_SERVER=TRUE"

Когда я вызываю метод execute, он создает (извлекает?) Файл базы данных в каталоге, где находится файл резервной копии ( архив). Как тогда этот извлеченный файл базы данных становится тем, который я использую в своем приложении вместо того, который объявлен как dbPath. Нужно ли мне куда-нибудь переместить файл в пакет моего проекта?

Мне просто трудно понять, что именно делает вызов Restore.execute(), и почему он не восстанавливается в моем конкретном приложении. Код в Restore.class не имеет каких-либо аннотаций, поэтому становится немного сложнее следовать ему.

Это мой код для восстановления, если он поможет:

    Restore.execute(unencryptedFile.getParent() + "/" + unencryptedFile.getName(), secureFile.getParent(), null);
...