如何彻底删除一个CKAN用户

How to completely delete a CKAN user

我可以使用 Web 界面删除用户,但这只会将他们的状态设置为已删除。如何彻底删除用户?

试过这个,但似乎没有用:

paster --plugin=ckan user remove bloggsj --config=/etc/ckan/std/std.ini  

另外,当用户被删除(状态设置为已删除)时,如何将其恢复为活动状态?

谢谢

目前没有粘贴或 API 清除用户的调用。

在紧要关头,您可以通过贴纸来完成 shell 不过:

(ckan)vagrant@precise64:/vagrant/src/ckan$ paster --plugin=pylons shell 
>>> model.User.get('testuser').purge()
>>> model.Session.commit()
>>> model.Session.remove()

人们偶尔会出于测试目的要求清除。 python 测试框架提供 reset_db(),但如果您想在 python 之外进行测试,那么它可能会有用。

如果您觉得它出于这个或其他原因有用,我鼓励您向 CKAN 提交 PR。

顺便说一句,要取消删除 state=deleted 的用户,系统管理员只需使用 user_update API.[= 将状态字段从 'deleted' 更新为 'active' 11=]

假设安装得像 this

连接到 CKAN 数据库: sudo -u postgres psql ckan_default

要清除单个用户: delete from only "user" where name ='user_to_delete';

要重新激活之前删除的单个用户: UPDATE "user" SET state='active' WHERE name='user_to_reactivate';


清除所有非活动帐户(垃圾邮件发送者/未注册等): delete from only "user" where state!='active';