# 安装问题 pre-topic/pre-post 徽章等

**URL:** https://meta.discourse.org/t/install-issues-pre-topic-pre-post-badges-etc/192102
**Category:** Support
**Created:** [2021年五月30日 17:00 UTC](https://meta.discourse.org/t/install-issues-pre-topic-pre-post-badges-etc/192102 "2021-05-30T17:00:00Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![brhhr](https://avatars.discourse-cdn.com/v4/letter/b/d78d45/32.png) [@brhhr](https://meta.discourse.org/u/brhhr)
#### Post date: [2021年五月30日 17:00 UTC](https://meta.discourse.org/t/install-issues-pre-topic-pre-post-badges-etc/192102/1 "2021-05-30T17:00:00Z")

</div>

我想正确安装 Discourse，这已经是我第五次安装了，但每次安装完成后都会自动生成一些默认主题。我还希望在安装前禁用大部分徽章。

每次安装后，我都需要手动编辑所有自动生成的主题以维护主题 ID，这非常令人烦恼。

目前似乎没有删除徽章的方法，这很糟糕，因为我实际上只需要大约 10 个徽章。不过，徽章 ID 1 到 4 是可以接受的；但如果我创建新徽章，其 ID 将会超过 100。

我不需要任何预设主题或预设帖子，也不想保留大部分徽章。我的员工操作日志中充满了与安装相关的更改，而安装过程本身并没有为所有者提供任何配置选项。

我该如何解决这些问题？

安装后预设主题和预设帖子的主要问题是，它们会打乱主题 ID，就像徽章 ID 也被严重扰乱一样。无法获得一个干净的 Discourse 安装，这简直荒谬。

我不希望系统或 Discobot 在安装后发布任何内容，我希望由我来创建第一个主题和帖子，并且希望创建除“基础”、“成员”、“常规”和“领导者”之外的其他徽章。

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2021年五月30日 18:14 UTC](https://meta.discourse.org/t/install-issues-pre-topic-pre-post-badges-etc/192102/2 "2021-05-30T18:14:39Z")

</div>

最简单的解决办法是不要在意徽章和主题ID的具体数值，其他人都是这么做的。如果你愿意多花上几个小时甚至更久，也可以从源代码中手动移除这些徽章，不过我不确定在数据库下次迁移时它们是否还会被重新添加（我倾向于认为不会）。

你也可以在每次新安装后恢复旧的数据库，而不是每次都从头开始，这样就不需要反复进行这些操作了。

如果你的预算在250到1000美元之间（我目前还不太清楚你的具体需求以及实现难度），你可以在 #Marketplace 频道发帖咨询。

---

<div class="post-metadata">

### Author: ![brhhr](https://avatars.discourse-cdn.com/v4/letter/b/d78d45/32.png) [@brhhr](https://meta.discourse.org/u/brhhr)
#### Post date: [2021年五月30日 18:27 UTC](https://meta.discourse.org/t/install-issues-pre-topic-pre-post-badges-etc/192102/3 "2021-05-30T18:27:38Z")

</div>

我在意主题 ID 和徽章 ID。

为什么安装后必须自动创建帖子？这太荒谬了。

至少你能告诉我如何清空员工日志吗？

`UserHistory.destroy_all`？[How to clean staff action logs? - #6 by jomaxro](https://meta.discourse.org/t/how-to-clean-staff-action-logs/51305/6)

如何使用这个？我最大的问题是，即使我是管理员，也无法清空日志。

在大型论坛中，主题 ID 很重要，我该如何禁用安装后自动创建主题和帖子？

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2021年五月31日 15:57 UTC](https://meta.discourse.org/t/install-issues-pre-topic-pre-post-badges-etc/192102/4 "2021-05-31T15:57:01Z")

</div>

> [@brhhr](#):
>
> 如何使用这个？我最大的问题是，即使我是管理员，也无法清空日志。

要执行 `UserHistory.destroy_all`，你首先需要：

```plaintext
./launcher enter app
rails c

```

我还没看到其他人关心主题 ID 的问题。如果这是一个大型论坛，ID 是 `10000001` 还是 `10000101` 似乎就更不重要了。

要禁用种子主题和徽章，你需要编辑 `db/fixtures` 中的内容，构建一个新的数据库，然后进行备份。如何在 `app.yml` 中实现这一点比较复杂。我可能会在开发环境中操作，以生成你所需的新数据库。再仔细看看，我不是很确定这些内容在将来重建时是否会被重新种子化。你需要亲自尝试，或者查阅关于 Rails 和种子数据的官方文档（RTFM）。
