Доступ к базе данных проекта воспроизведения с h2-браузером
У меня возникли проблемы с доступом к базе данных mem через h2-browser
в проекте Play
.
С приведенной ниже конфигурацией, которая, по моему мнению, является правильной (видимо, нет!), я получаю h2-браузер, но без таблиц (помимо схемы, то есть), хотя я применил некоторые миграции.
Что мне здесь не хватает? Спасибо заранее.
конф/application.conf:
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play"
db.default.user=sa
db.default.password=""
![conf]()
Ответы
Ответ 1
Когда вы используете базы данных in-mem, на самом деле вы получаете доступ к двум различным базам данных (хотя и с одним и тем же путем). У вас есть два решения:
- Сначала с консоли запускайте консоль "play", запустите h2-браузер и, наконец, запустите приложение (в пределах той же консоли
play
).
- Запустите H2 в режиме сервера. Дополнительным преимуществом этого подхода является то, что вы не потеряете свои данные при каждом перезапуске приложения, поскольку DB хранится в файле. Затем вы можете получить доступ к этой базе данных из многих точек (также из "автономного" браузера H @или какого-либо другого графического интерфейса) с путём, похожим на:
Unix (~
означает ваш домашний каталог)
db.default.url="jdbc:h2:tcp://localhost/~/some/path/to/MyPlayDB"
или Windows
db.default.url="jdbc:h2:tcp://localhost/c:/some/path/to/MyPlayDB"
Обратите внимание, что для лучшей производительности в режиме производства стоит вернуться к встроенному режиму, однако для dev-stage это решение должно быть достаточно хорошим (еще быстрее, чем для примера MySQL)
Ответ 2
Чтобы просмотреть содержимое своей базы данных с помощью H2 Web Console, запустите как консоль, так и приложение Play через ту же Play консоль:
- Сначала войдите в консоль Play, запустив Activator Activator:
~/Projects/play-app $ activator
- Запустите веб-консоль:
[play-app] $ h2-browser
Это должно открыть консольный интерфейс H2 в вашем браузере.
- Запустите приложение Play:
[play-app] $ run
- Доступ к приложению Play в браузере. Это заставит приложение Play подключиться к базе данных в памяти H2 и инициализировать его некоторыми данными по умолчанию, если они есть.
- Войдите в веб-консоль H2 в своем браузере, чтобы проверить содержимое базы данных. Используйте следующие настройки, которые вы можете сохранить (например, как
Play-App In-Memory Database
), чтобы легко получить к ним доступ позже:
- Класс драйвера:
org.h2.Driver
- URL-адрес JDBC:
jdbc:h2:mem:play
- Имя пользователя:
sa
- Пароль:
<blank>
Обратите внимание, что приведенные выше настройки должны соответствовать вашей фактической конфигурации (db.default.url
и т.д.).