我在项目中使用grails 3.0.17和h2db。
我创建了ApplicationCommand来填充一些测试数据。我像'grails gradle generateTestData'那样运行它。
class GenerateTestData implements ApplicationCommand {
@Override
boolean handle(ExecutionContext executionContext) {
//Host is domain object
Host.withNewSession { session ->
//some domain opertions
}
return true
}
}
我还没有创建db时运行generateTestData命令。 Bootstrap.groovy脚本创建数据库并填充引导数据。然后我的脚本执行一些save()调用。我通过Squirrel看到DB中的数据是正确的。但是当我使用'grails run-app'运行我的应用程序时,它会抛出'UserNotFound'异常(但是用户在数据库中,通过Squirrel检查)。
因此,会话或数据库连接似乎有问题。
当我运行grails run-app(db尚未创建)时,Bootstrap.groovy脚本创建数据库并填充数据。一切正常。
我无法理解命令有什么问题。谁能帮助我? (即使运行带有空句柄()函数的命令,App也无法找到用户。