Выполнение простых SQL запросов из Grails

· На чтение уйдёт 1 минута · (156 слов)

Невероятно, но факт! Помимо GORM, в Grails есть и обычные SQL запросы (сарказм!). И, соответственно, обновление базы частенько приходится делать именно через них. До этого момента базу я обновлял через командную строку psql. Но совсем недавно подумал “Какого чёрта? Есть же Groovy Console” (это такой полезный плагин для Grails, который позволяет выполнять любые Groovy скрипты на вашем сервере).

Для начала установим плагин console:

grails install-plugin console

Зайдя на ваш сервер http://localhost:8080/console/, мы увидим консоль Grails. В этой консоли можно просто ввести небольшой скрипт, который всё сделает за вас.

Выполняем SQL из Grails Console

Или же:

import groovy.sql.Sql
def sql = Sql.newInstance(application.config.dataSource.url, 
  application.config.dataSource.username,
  application.config.dataSource.password, 
  application.config.dataSource.driverClassName)
sql.execute("SELECT 1");

Разумеется, вместо SELECT 1 следует вписать свой SQL код.

Это решение можно применять, если необходимо выполнить небольшие изменения в БД (например, сменить текстовку). У самой консоли применений намного больше – просто экспериментируйте ;). Я сейчас чаще всего её использую для создания новых моделей “на лету”. Например, не просто добавляю перевод в таблицу, а создаю и сохраняю модель.

Полезное