我使用进化脚本,通过Slick使用Play Framework更新Microsoft SQL Server数据库的架构。
这在很大程度上起到了很好的作用,只是当出现问题时,我只会收到一条简短的错误消息,没有指示是哪行脚本导致了错误,而且对于大型脚本来说,这使得识别错误既耗时又具有挑战性。
例如,考虑这个错误:
An evolution has not been applied properly. Please check the problem and resolve it manually before marking it as resolved. -
We got the following error: , while trying to run this SQL script:
就是这样。
有没有一种方法可以获得完整的错误消息(通过日志文件、配置设置等(,其中包括行号和上下文等,以及进化失败?
我花了一段时间,但我终于明白了。
我编辑了conf/logback.xml
文件以包含以下内容:
<logger name="play.api.db.evolutions" level="DEBUG" />
Ups脚本中的每一条语句在执行时都会写入logs/application.log
,以及其结果,包括详细的错误消息。