Пишите sql вставляйте и обновляйте запросы, сохраняя или обновляя в базе данных h2 программно - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь создать локальный проект для моих целей обучения, в котором я использую h2 в качестве базы данных в памяти. Я использую spring-jpa для своего проекта.

Мне было интересно, есть ли какой-нибудь способ, которым мы можем получить дамп данных или запись логов (в данном случае запросов) в файл.

Почему Мне нужно это? поэтому, поскольку h2 является базой данных в памяти, всякий раз, когда проект заканчивается, он удаляет все данные. что я хочу получить все данные при повторном запуске процесса. Попытка поиска по inte rnet не смогла найти ничего.

Ответы [ 2 ]

0 голосов
/ 23 апреля 2020

H2 не является системой баз данных в памяти, H2 поддерживает как постоянные базы данных, так и базы данных в памяти. Если вам нужно сохранить ваши данные, используйте файловую базу данных с jdbc:h2:./somename URL, где ./somename является относительным (должен начинаться с ./) или абсолютным путем к файлу базы данных без расширения. https://www.h2database.com/html/features.html#database_url

Конечно, вы можете экспортировать данные во внешний файл, даже если вы используете базу данных в памяти с командой SCRIPT TO 'filename.sql' для H2, но нет веских причин для используйте эту функциональность вместе с базой данных в памяти вместо постоянной. Такие свалки обычно используются для миграции.

0 голосов
/ 23 апреля 2020

Вместо использования H2, которое исключительно в памяти, рассмотрите возможность использования SQLite , который может создать файл и останется после завершения работы приложения.

...