Grails HSQL Database. Смотрим внутрь.

87
Находится в разделах:

В основе Grails лежат два таких кита как Spring и Hibernate, а база данных, на работу с которой по умолчанию настроен любой проект Grails - это HSQLDB.

Как же нам визуализировать просмотр данных, которые хранятся в HSQLDB? А зачем спросите Вы нам их визуализировать то?
Ну, например, мы хотели более детально разобраться,  как работает GORM (Grails Object Relational Mapping);
или же мы хотим отладить наши классы предметной области;
или - мы не доверяем Grails и хотим держать каждый шаг работы в БД под своим контролем.

Итак, выходом для нас будет использование DBVisualizer - инструмента для разработчиков и администраторов баз данных, который поддерживает возможность подключения к куче разных БД и одной из них является наша HSQLDB.
Первое, что нам необходимо сделать, так это изменить url подключения бд таким образом, что бы база хранила  все данные не в оперативной памяти, а в файловой системе, так как DBVisualizer не сможет достучатся до данных, которые висят в памяти Grails JVM.
Для этого, открываем файл DataSource.groovy, который размещен в папке grails-app\conf нашего проекта, находим блок кода development environment и заменяем строку:

  на

Запускаем проект:


Все необходимые манипуляции со стороны Grails мы выполнили.

Далее, создаем новое подключение в DBVisualizer:


Задаем имя подключения: например, Grails HSQLDB connection;
выбираем тип базы, к которой будем подключатся - HSQLDB (кстати, как раз просмотрев выпадающий список, можем узнать с каким БД умеет работать DBVisualizer);
В качестве драйвера подключения выбираем HSQLDB embedded и указываем путь, по которому его можно найти ($GRAILS_HOME/lib);

Указываем Database URL.  Шаблон записи этого параметра имеет следующий вид:

Учитывая те обстоятельства, что у меня проект расположен в директории С:\grails\DB\  и то, что для Windows-пользователей не обязательно указывать букву диска С,  то Database URL примет следующий вид:


 Заполняем поля Userid и Password - по умолчанию это: Userid: “ sa” Password: нет пароля;
 Давим Connect. Если вы все сделали правильно -  то вы увидите все бд, таблицы и данные, которые содержит HSQLDB;
 Например, в моем приложении существует единственный клас предметной области:

 А вот и таблица, которая связана с классом Category в базе HSQLDB.


 Все.


Конец
Уинстон Черчилль более, чем уверен в том, что постоянные усилия, а не сила или ум, — вот ключ к раскрытию нашего потенциала.

Если так считают все, это не значит что это правильно.

Отправить комментарий

CAPTCHA
Чтобы оставить комментарий, введите пожалуйста код, изображенный на картинке
Image CAPTCHA
Введите символы, изображенные на картинке