Как сохранить базу данных sqlite при использовании Datagrip из Jetbrains

#sqlite #datagrip

#sqlite #datagrip

Вопрос:

Что-то, что я не могу понять. Когда я использую Sqlite в консоли, я могу это сделать .save test.sqlite .

Но как я могу сохранить свою базу данных в файл, когда я нахожусь внутри консоли Jetbrains datagrip?

Я попробовал это:

введите описание изображения здесь

Но это не работает. Когда я ищу это в Интернете, я нахожу, как экспортировать данные в целом в datagrip, но это не то, что я ищу.

Я надеюсь, что есть какой-то способ для этого. Datagrip удобен, если речь идет о геопакетах, только если бы я мог их сохранить.

Ответ №1:

в sqlite-jdbc есть два дополнительных оператора: backup amp; restore , см. Их Документы. Таким образом, он делает то же самое, что и .save

Но я не уверен, что вам это нужно. Когда вы вызываете .save клиент командной строки, он просто копирует текущую базу данных в указанное местоположение. В DataGrip вы обычно открываете существующую базу данных и работаете с ней. Все изменения будут отражены в открытом файле (с учетом транзакций и Co). Так что нет причин «сохранять» вашу работу.

Комментарии:

1. По моему опыту, это не сохраняет базу данных в памяти. Поэтому я хотел запустить сохранение вручную.

2. Итак, вы используете базу данных в оперативной памяти в DG и хотите сохранить ее в файл?

3. Ну, проблема в моем случае заключается в том, что я открыл файл с помощью Datagrip, а другой внешний процесс что-то делает с геопакетом. Поэтому иногда она заблокирована или просто удалена. И в последнем случае база данных в памяти все еще функционирует, поскольку Datagrip может запрашивать таблицы. Но файл исчез. Я выполнил некоторую ручную работу и не хотел, чтобы она была потрачена впустую. Итак, я подумал, почему я не могу использовать .backup или .save внутри консоли Datagrip. В любом случае моя работа была потеряна, и я просто переделал ее. Поэтому, если ответ «вы не можете», я приму это.

4. @botenvouwer Я обновил ответ, есть инструкции для сохранения / восстановления DB: backup amp; restore , они просто называются по-другому, если ваш внешний процесс может удалить файл базы данных, mb, лучше сохранить вашу работу в отдельном файле? Вы можете создать отдельную базу данных для своей работы и ATTACH этот измененный извне файл для вашего сеанса. (возможно, вы захотите включить single connection mode в DG, чтобы он использовал тот же сеанс для отображения содержимого БД)

5. Кроме того, если вы удаляете много данных, используйте VACUUM; команду внутри Datagrip для удаления удаленных записей из файла.