H2Database
Введение
Большое преимущество H2Database заключается в том, что ему не нужен сервер базы данных, поскольку он может работать встроенно в приложениях.
H2Database рекомендуется только для целей разработки и тестирования; в производственной среде следует использовать другой, более надёжный тип базы данных.
Рекомендации и ограничения
H2Database не позволяет более чем одному процессу обращаться к файлу базы данных.
Поэтому, если нужно работать с файлом или получить доступ через веб-консоль, придётся остановить выполнение Netuno.
Файлы базы данных
Файлы базы данных H2Database находятся в папке dbs, которая находится внутри приложения, например:
apps/мое_приложение/dbs
Если хотите переименовать базу данных, измените имя файла и исправьте конфигурацию приложения, например в среде development:
config/_development.json
Исправление нужно сделать в части конфигурации подключения к базе данных:
...
"db": {
"default": {
"password": "",
"engine": "h2",
"port": "",
"host": "",
"name": "моя_база",
"username": ""
}
}
...
Веб-консоль
Может потребоваться прямой доступ к базе данных; в этом случае это можно сделать через веб-консоль H2Database.
Веб-консоль запускается при прямом запуске jar H2Database следующим образом:
java -cp web/WEB-INF/lib/h2-*.jar org.h2.tools.Server
Предполагается, что вы находитесь в корне Netuno.
Чтобы просмотреть доступные параметры:
java -cp web/WEB-INF/lib/h2-*.jar org.h2.tools.Server -?
Запускает веб-консоль на порту Netuno 9000 и разрешает доступ с внешних IP-адресов:
java -cp web/WEB-INF/lib/h2-*.jar org.h2.tools.Server -webPort 9000 -tcpAllowOthers
Перед этим следует остановить выполнение Netuno, чтобы несколько процессов не работали с файлом базы данных одновременно.
JDBC URL для подключения к базе данных должен быть:
jdbc:h2:./apps/мое_приложение/dbs/моя_база;MODE=PostgreSQL;CASE_INSENSITIVE_IDENTIFIERS=TRUE;DATABASE_TO_LOWER=TRUE;DEFAULT_NULL_ORDERING=HIGH;DB_CLOSE_ON_EXIT=TRUE;
Замените часть
мое_приложениена имя приложения, амоя_база— на имя соответствующей базы данных.
Аутентификация выполняется под пользователем sa, но без пароля.
Сброс доступов
Особенно когда утерян доступ пользователя dev.
Получите доступ через веб-консоль H2Database, как описано выше.
Чтобы восстановить доступ, удалите данные из таблицы netuno_user, например:
delete from netuno_user
Таким образом, при следующем запуске Netuno заново создаст пользователей с их стандартными паролями.