Выполнение мультитенантных осведомленных запросов в 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 и сохраняю его в хранилище данных по умолчанию, как мне это сделать?

0 ответов

Другие вопросы по тегам