Каков наилучший способ отладки Bootstrap.groovy? - PullRequest
2 голосов
/ 18 марта 2011

Я вставляю некоторые данные в базу данных, но некоторые объекты не вставляются, хотя я не вижу ошибок валидации. Каков наилучший способ сделать ошибку с помощью stacktrace или с sql, чтобы я мог выяснить, что не так?

например, я делаю, новый XXXXX (свойство: "бла"). Save (flush: true)

Я не вижу ошибок при запуске (grails run-app), но я также не вижу свои данные. Я вижу данные по многим своим объектам, поэтому я уверен, что это что-то о моих объектах, проверке или даже связях, но мне нужен простой способ увидеть проблему в журнале / консоли ...

Я уверен, что это легко, но это ...

Ответы [ 2 ]

5 голосов
/ 18 марта 2011

Я рекомендую разрешить save () генерировать исключение, если оно завершится неудачно во время начальной загрузки, поскольку ошибка кода будет вызвана вашим кодом, а не пользовательским вводом.

new Xxxxx(property: "blah").save(failOnError: true)

Исключение будет содержать довольно многословный блоктекста, но проверьте первую строку, которая будет выглядеть следующим образом:

grails.validation.ValidationException: ошибки проверки произошли во время сохранения ():

Ошибка поля в объекте'mypackage.Xxxxx' в поле 'myProperty': отклоненное значение [null]

1 голос
/ 18 марта 2011

Во-первых, я бы написал модульный тест для вашего домена. Если кажется, что это работает, но у вас по-прежнему возникают проблемы в Bootstrap, при каждом сохранении я проверяю домен на наличие ошибок.

def xxxxx = new XXXXX(...)
xxxxx.save(flush:true)
def errors = xxxxx.errors

Затем я поставлю точку останова, чтобы я мог проверить объект ошибок. В противном случае вы можете напечатать объект ошибок и, как правило, получить из этого достаточно, чтобы выяснить, что происходит.

...