无法删除启用了 FOSOAuthBundle 的用户



我尝试删除我的symfony 3应用程序中的用户。我使用FOSOAuthBundleFOSUserBundle.

我尝试了以下代码:

$em = $this->getDoctrine()->getManager();
$em->remove($user);
$em->flush();

但是我收到此错误:

An exception occurred while executing 'DELETE FROM user WHERE id = ?' with params [1]:nnSQLSTATE[23000]:
Integrity constraint violation: 1451 Cannot delete or update a parent row:
a foreign key constraint fails (`database`.`access_token`, CONSTRAINT `FK_B6A2DD68A76ED395` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`))

我有这个配置:

# FOSOAuthServerBundle configuration
fos_oauth_server:
    db_driver: orm
    client_class: OAuthBundleEntityClient
    access_token_class: OAuthBundleEntityAccessToken
    refresh_token_class: OAuthBundleEntityRefreshToken
    auth_code_class: OAuthBundleEntityAuthCode
    service:
        user_provider: fos_user.user_provider.username_email
        options:
            access_token_lifetime: 86400
            refresh_token_lifetime: 2.628e+6

如果我获得访问令牌,则始终null用户字段,尽管在数据库中保存了正确的id,并且可以使用此令牌登录。

> 你需要配置级联操作。您需要确定删除用户时要在表上执行哪些操作access_token。您可以删除 de 令牌或将相关用户设置为 null。

更多信息在这里

相关内容

  • 没有找到相关文章

最新更新