关注

请教一下,sidekiq 信息里出现大量失败任务:

ActiveRecord::RecordNotFound: Couldn't find Account with 'id'=-99

是怎么回事……

我好像在 postgresql 里手动删了 id 为 -99 的帐号,大概和这个有关?有办法回复吗?🤦🏼‍♂️

自问自答:

id=-99 的帐号是由:
/db/migrate/20190726175042_add_case_insensitive_index_to_tags.rb 升级来的用于完成某些特定任务的系统帐号,原本不应该删除。如果妳像我一样误操作了。

可以简单粗暴地在数据库中再插入回一个 id 为-99 的帐号。

不过可能需要后续处理一下,才能正常使用,比如更新一下帐号 RSA keys 之类。

总之我是这样暂时解决了问题。

@i 应该是的吧,用户名为域名那个…被我从数据库里删掉了🤦🏻

@dimlau RAILS_ENV=production bundle exec rails c

> Account.where(domain: nil, id: -99).destroy_all

@mashiro

destroy_all 不是删除它吗?

我是之前在数据库里操作的,才出了问题。

总之现在应该没问题了…吧,可能。

@dimlau 不太清楚你之前是怎么删的,是不是自己打的SQL命令,如果是的话应该就是没彻底。这个是通过rails 的account controller删的,理论上是可以删干净。

@mashiro

不是,我可能没表达清楚,我之前删了之后,出了问题——sidekiq 里面出现一大堆报错。可见这个-99账号是有必要存在的。所以应该再给它加回来:

RAILS_ENV=production bundle exec rails c

> Account.create!(id: -99, actor_type: 'Application', locked: true, username: Rails.configuration.x.local_domain)

😅

@mashiro 当然这都是db文件夹里那个文件里写的,我是完全都不会的 :tzcat18:

小白用户感觉好难

@dimlau 不知道你的web界面URL上输入-99这个ID会怎么样

@mashiro 之前删掉之后访问过这个账号页面。

其他不存在的账号是一个大象图片底下一句话类似「The page you are looking for isn't here.」

而删掉之后,这个账号页面会显示源码。

登录以加入对话
TzCafe

一个畅所欲言的网上咖啡馆,欢迎在这里交流,就像在现实中的咖啡馆里那样。