Выполнение мультитенантных осведомленных запросов в Bootstrap.groovy
При попытке сохранить некоторые данные в хранилище данных, принадлежащем определенному арендатору в BootStrap.groovy, я получаю следующую ошибку.
org.grails.datastore.mapping.multitenancy.exceptions.TenantNotFoundException: арендатор не может быть разрешен вне веб-запроса
Я использую SessionTenantResolver в качестве конфигурации класса tenantResolver в application.yml
multiTenancy:
mode: DATABASE
tenantResolverClass: org.grails.datastore.mapping.multitenancy.web.SessionTenantResolver
Я попытался обернуть запрос осведомленного арендатора внутри withId
как указано ниже
withId("tenant1") {
User tenant1Admin = new User()
tenant1Admin.username = "tenaant1admin"
tenant1Admin.password = "password"
tenant1Admin.save(flush:true)
}
User.groovy (генерируется s2-quickstart)
class User implements MultiTenant<User>, Serializable {
...
}
То, чего я пытаюсь добиться, - это сохранить данные, относящиеся к супер-администраторам, в хранилище данных по умолчанию, а другую информацию об аутентификации администраторов / пользователей - в хранилище данных владельца, которому они принадлежат.
Кроме того, если я создаю только супер-админа из Bootstrap.groovy и сохраняю его в хранилище данных по умолчанию, как мне это сделать?