Возможно ли использование разных типов баз данных для локальной разработки и для эксплуатации?

Существует ли сценарий использования разных типов баз данных, например для локальной разработки HSQLDB, а для тестирования/эксплуатации Oracle или PostgreSQL? При формировании билда (war) есть возможность указать другие параметры подключения к базе - логин, пароль, имя сервера и т.п., но другой тип базы указать нельзя.

Можно указать тип СУБД в параметрах сборки WAR.
Внизу окна WAR Settings, раздел App properties.
Укажите там все нужные вам свойства приложения, которые актуальны для развертывания этого WAR.
Те же cuba.dbmsType, cuba.dbmsVersion.
Главное скрипты БД для этой СУБД не забыть предварительно сгенерировать.

2 симпатии

Image 2021-03-231

Формат записи в скобах с кавычками?
['cuba.dbmsType' : oracle]

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

Какие варианты? Ставить все сервера на ноут?

Довольно часто команды используют:

  • БД в Docker, чтобы иметь их разные версии
  • Общий сервер БД для разработки на команду, с большими тестовыми данными

На практике, локальный PostgreSQL потребляет очень мало памяти и с настройками по умолчанию взлетает на 256 MB виртуалках.

PostgreSQL - это, конечно, удобно, но почему-то чаще всего боевой сервер это Oracle или MS SQL На ноутбук их ставить совсем не здорово, как мне кажется, а для MacOS их вообще нету. Пожалуй что только через Docker остаётся.

Спасибо.

Я вот только не понимаю зачем HQLDB в стандартной поставке студии. Если её использование в боевой среде маловероятно, а точнее сказать вообще невероятно, и перенос структуры данных приложения из этой базы в среду промышленного сервера грозит проблемами, то зачем она вообще, неужели не нашлось какого-нибудь более элегантного решения для разработчиков?

HQLDB - это решение для лёгкого знакомства со студией и прототипирования. Сильно облегчает и без того развесистый инструментарий, не нужно сразу ставить СУБД, когда вы только начинаете делать проект или аддон. Разрабатывать приложения на ней не нужно.