Migrated to Discourse and system is creating hundreds of flagged posts

We’ve just migrated to Discourse from custom forum software (thanks to @pfaffman). We’re getting hundreds of system-generated spam warnings and flagged posts when users post up with links in their posts. People are being blocked from posting which is a huge issue for us.

The system seems to be confused, even though these migrated user accounts are showing as having been created years ago, the system is thinking they’re new and applying the anti-spam features (which are great, thanks).

I’m having to manually dismiss all the post flags, but it’s impacting users negatively.

Does anyone have any idea what’s going on or how we could stop the system flagging posts for long-time members?

Some screenshots:

Hi Jay

We don’t host your site so I can’s see behind the scenes as to your settings or numbers of users, but I would assume that what may be happening is that while you’ve migrated your users and given them a historic ‘start date’, they are all currently treated by Discourse as new users who have yet to earn a higher Trust Level. They may all be TL0 or TL1

Can you check what default trust level you have set for your migrated users?

(if you need to read about trust levels, see here: Understanding Discourse Trust Levels)

EDIT: Looking at your site it looks like all your users are set to TL0 which is a restriction which only lasts a short time to discourage spammer activity. As soon as they start to read and visit this will be lifted, but for the most keen, they could get caught-up.

1 Like

Thanks Robert. TL0 by the looks of it:


1 Like

Unless you can do this, I suggest you get @pfaffman to upgrade all existing users (who we can assume are all ‘real’ and deserve at least basic privileges) to TL1

here’s a topic that could help



Ah, that makes a whole of sense, thanks @robmc!

1 Like

Here’s what I might do:

./launcher enter app
discourse backup
rails c 
users=User.where("created_at < '#{5.days.ago}' and admin=false and trust_level=0")
users.count # just to see. . .
users.update_all(trust_level: 1)

Obviously, you can use how ever many days is appropriate.

That should do it. And, just in case, you can exit from the rails session and

discourse enable_restore
discourse restore

Then you can copy/paste the most recent backup if someone goes horribly wrong.


Wow. Now there’s a blast from the past — I was a regular LB lurker (mostly), although I have to confess I drifted off after the switch to the custom platform, which I could never quite gel with. I’ll definitely be back to check out the new digs, well done on completing the migration!


Thanks @Genyus! Yes, in hindsight, I think the custom forum software was not what the community needed. We should have gone to Discourse at that point. Thanks for your feedback. Hope to see you around :slight_smile:

Also, to resolve this issue, I ran this command which did the job:

DB.exec("UPDATE users SET trust_level = 1 WHERE trust_level = 0")


It seems that I failed to type “control-enter” on my post above when I thought I had. Nice work!