如何彻底删除一个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';
我可以使用 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';