플러그인으로 데이터를 저장하는 가장 좋은 방법은 무엇인가요?

단일 Topic ID(예: 설정 가능한 값)만 저장해야 한다면, 가장 간단한 Discourse 네이티브 방법은 SiteSetting을 사용하는 것입니다.
이 경우 관리자 UI도 자동으로 제공됩니다.

config/settings.yml:

plugins:
  my_plugin_enabled:
    default: true
    client: false

  my_plugin_topic_id:
    default: 0
    client: false
    type: topic      # 관리자 UI에서 토픽 선택기를 제공합니다

Ruby 플러그인 코드에서는 다음과 같이 사용합니다:

topic_id = SiteSetting.my_plugin_topic_id
topic = Topic.find_by(id: topic_id)

설정 항목으로 노출하지 않고 프로그래밍 방식으로 저장하기를 원한다면,
단일 키-값 저장에는 PluginStore도 적합합니다:

store = PluginStore.new("my_plugin")
store.set("topic_id", some_topic_id)

topic_id = store.get("topic_id")