Я уже использую Grails так v1.3.x и теперь я не имея успеха с конфигурацией DataSource/Горм ...Как настроить MySQL DataSource на Grails 3.1.x с помощью профиля web-api?
Мои шаги были:
1 - $ Grails создать-приложение MyAPI --profile = веб-апи.
2 - Настройка application.yml файл:
dataSource:
pooled: true
jmxExport: true
driverClassName: com.mysql.jdbc.Driver
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
username: root
password:
environments:
development:
dataSource:
dbCreate: update
url: jdbc:mysql://localhost:3306/test-app
3 - О build.gradle файл, замените RUNTIME DEPENDENCY "com.h2database: h2" с «MySQL : MySQL-разъем-Java: 5.1.37"
4 - Создание базы данных под названием тест-приложение
5 - Создание домена: $ Grails создать-домен класса MyDomain
6 - Добавление атрибута Строка на MYDOMAIN Классе называется имя
Пример:
package myapi
class MyDomain {
String name
static constraints = { }
}
7 - Запустить приложение : $ Grails выполнения приложения
Выход:
Запуск приложения ...
objc [27851]: Класс JavaLaunchHelper реализован как в /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/bin/java и/Library/Java/JavaVirtualMachines/jdk1 .8.0_60.jdk/Содержание/Главная/JRE/Библиотека/libinstrument.dylib. Один из двух будет использован. Какой из них не определен.
Grails приложение, работающее на http://localhost:8080 в окружающей среде: разработка
И были созданы не таблицы ... кто-нибудь знает, какой шаг я пропускаю здесь?
OBS .: Даже если я ошибочно записал имя базы данных, приложение все еще работает и ошибки не происходит.
Когда я попытался сохранить экземпляр MYDOMAIN, java.lang.reflect.InvocationTargetException происходит с этим сообщением: «Метод на классе [myapi.MyDomain] был использован за пределами Grails приложения. Если выполняется в контексте теста с использованием насмешливый API или бутстрап Grails правильно. " – dmonti