2015-02-25 2 views
0

Приложение My Play использует H2 в памяти при работе в dev или тестовом режиме. Я хочу получить доступ к этой базе данных, когда приложение работает в режиме dev. Поэтому у меня есть следующие варианты:Introspect in-memory H2 Database

1) Запустите базу данных в режиме Встраиваемый/Смешанный. И заставьте платформу воспроизведения открыть базу данных для других процессов.

2) Запуск в базе данных H2 в режиме сервера (наименее предпочтительный). Но в этом случае структура должна начинаться с процесса дебана сервера базы данных (а не вручную).

Мой текущий файл application.conf выглядит следующим образом.

db.default.driver=org.h2.Driver 
db.default.url="jdbc:h2:mem:dev;MODE=MYSQL;DB_CLOSE_DELAY=-1;" 
db.default.jndiName=dev 
+0

Проверьте этот старый ответ, если он может помочь вам: http://stackoverflow.com/a/ 15992638/1066240 – biesior

+0

Мое начальное испытание метода 1 не получилось. база данных пуста, и таблицы, упомянутые в сценарии эволюции, не выполняются. Но таблицы доступны в приложении. Я попробую еще раз. –

+0

@biesior Спасибо, после обновления jdbc url я смог подключиться к базе данных. BTW воспроизводит H2 во встроенном режиме или в смешанном режиме? –

ответ

1

С вашего использования терминала activator CMD для запуска консоли Play, в пределах его запустить h2-browser ЦМД, чтобы открыть консоль в браузере и, наконец, запустить приложение (withinh той же консоли Play) с т run ЦМД.

Убедитесь, что вы используете одинаковые учетные данные (особенно URL JDBC) в обоих местах.

AFAIK он использует встроенный режим (поэтому это необходимо, чтобы начать как в рамках одного процесса)

(origin)

Смежные вопросы