Grails HSQL Database. Смотрим внутрь.
В основе 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.
Все.







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