Создание БД у пользователя

Я делаю приложение, которое позволяет сохранить информацию о ставках пользователя в журнал (БД PostgreSQL). На моём компьютере установлен SQL сервер и разумеется всё работает. Как сделать так, чтобы когда пользователь открывает приложение, создавалась БД на его компьютере?


Ответы (1 шт):

Автор решения: Softovick

Ну установка и настройка СУБД для непонимающего пользователя дело такое, нетривиальное.

Я вижу два решения вашей проблемы, исходя из описанных условий

  1. Вместо PostgreSQL используйте что-то встраиваемое. Например SQLite3, раз уж вам SQL-решение по душе, отличная БД. Встраивается на уровне кода, создается при выполнении, если нужно. Ничего, кроме вашего приложения конечному пользователю уже не нужно ставить, так как для использования к приложении приложится библиотечка с реализацией этой БД. Или даже вшить можно в бинарник (я не знаю как там в Java, можно ли так упаковать приложение "все-в-одно", но наверное можно).
  2. Если БД какая то централизованная, то зачем создавать ее у пользователя, если можно просто настроить удаленный доступ к ней? То есть вы хостите свою БД где-то на сервере, а пользователи к ней подключаются. Либо напрямую (что наверное не очень хорошо), либо через какой-нибудь REST API (что лучше с точки зрения безопасности, гибкости и масштабирования).
→ Ссылка