# 백업 복원 후 빈 토픽이 표시됩니다

**URL:** https://meta.discourse.org/t/empty-topics-after-a-successful-backup-restore/139142
**Category:** Support
**Created:** [1월 20, 2020, 2:54오전 UTC](https://meta.discourse.org/t/empty-topics-after-a-successful-backup-restore/139142 "2020-01-20T02:54:55Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [1월 20, 2020, 2:54오전 UTC](https://meta.discourse.org/t/empty-topics-after-a-successful-backup-restore/139142/1 "2020-01-20T02:54:55Z")

</div>

안녕하세요,

호스트를 변경했습니다. 기존 인스턴스(최신 Discourse 버전)에서 썸네일 포함 옵션을 활성화한 전체 백업을 수행했습니다.  
도메인 IP를 변경한 후, 먼저 새로운 Discourse 인스턴스를 설치했습니다(도커를 사용한 클래식 설치).  
그런 다음 백업을 `/var/discourse/shared/standalone/backups/default`로 복사하고 새 인스턴스에서 복원했습니다.

모든 과정은 순조롭게 진행되었지만, 주제(토픽)에 메시지가 하나도 없습니다.  
로그는 정상적으로 보입니다. 로그인도 가능하고, 주제가 비어 있는 것을 제외하면 모든 것이 정상입니다.

어떤 생각이 있으신가요? 문제가 있다면 어디를 확인해야 할까요? 이제 무엇을 해야 할까요?

영어 외 텍스트에 대해 죄송합니다:

 ![image](https://global.discourse-cdn.com/meta/original/3X/e/0/e01fd82a62ea4ea8ff8a2b21cdba4fac1cd7f848.png)

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [1월 20, 2020, 2:51오후 UTC](https://meta.discourse.org/t/empty-topics-after-a-successful-backup-restore/139142/2 "2020-01-20T14:51:46Z")

</div>

문제를 수정했습니다.

복원 시 CSP 설정이 강제로 활성화되어 있었습니다. 일부 테마 구성 요소가 CDN을 통해 스크립트를 선언하고 있었으며, 해당 스크립트는 화이트리스트에 등록되어 있지 않아 JS 오류로 인해 토픽 메시지가 표시되지 않았습니다.

보안 강화는 언제나 환영하지만, Discourse가 _백업_ 설정을 변경하는 것은 기대하지 않았습니다. 신규 설치의 경우라면 이해할 수 있지만, 백업에서는 그렇지 않습니다. 단순히 백업/복원 문제만이 아니었기 때문에 처음에는 브라우저 콘솔을 확인해야 한다는 생각이 들지 않았습니다. 이렇게 사소한 문제로 인해 많은 시간, 에너지, 수면을 잃은 것에 대해 솔직히 상당히 좌절감을 느낍니다. 또한 Discourse 빌드가 매우 시간이 오래 걸리기 때문입니다.

어쨌든 이제 알았습니다. 주의하세요, 여러분!

---

<div class="post-metadata">

### Author: ![gerhard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gerhard/32/119479_2.png) [@gerhard](https://meta.discourse.org/u/gerhard)
#### Post date: [1월 20, 2020, 4:49오후 UTC](https://meta.discourse.org/t/empty-topics-after-a-successful-backup-restore/139142/3 "2020-01-20T16:49:47Z")

</div>

문제의 원인을 찾았으니 다행입니다.

> [@Arkshine](#):
>
> _백업_ 설정이 Discourse에 의해 변경될 것이라고는 기대하지 않을 것입니다.

만약 동일한 버전의 Discourse에서 해당 백업을 복원했다면, 그것은 버그로 간주할 수 있습니다. 실제로 그렇게 했습니까? 이전 버전의 Discourse에서 만든 백업을 더 새로운 버전의 Discourse에서 복원할 경우, 시스템이 다르게 동작할 수 있음을 예상해야 합니다.

CSP 문제를 테마 컴포넌트 개발자에게 보고했습니까? 그렇게 하면 적어도 다른 사람들이 동일한 문제를 겪는 것을 방지할 수 있을 것입니다.

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [1월 20, 2020, 5:29오후 UTC](https://meta.discourse.org/t/empty-topics-after-a-successful-backup-restore/139142/4 "2020-01-20T17:29:33Z")

</div>

새 버전이 나올 때만 업그레이드하고, 새 인스턴스를 설치할 때 test-passed에서 최신 버전을 가져오기 때문에, 아마도 더 새로운 버전일 가능성이 높습니다.

어쨌든, 구버전/신버전 여부와 무관하게, 아주 특별한 상황이 아니라면 제 생각에는 _기존_ 설정은 어떤 식으로든 변경되어서는 안 된다고 생각합니다. 또한, 동일한 기본 버전에서 백업이 동일한 동작을 하기를 기대합니다. 만약 변경 사항이 있다면, Discourse에 연결된 시점에 최소한 경고 메시지를 한 번 표시해 주면 좋겠습니다(예: “보안상의 이유로 CSP 설정이 활성화되었습니다” 등, 요지는 그겁니다).

---

<div class="post-metadata">

### Author: ![Remah](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/remah/32/70590_2.png) [@Remah](https://meta.discourse.org/u/Remah)
#### Post date: [1월 20, 2020, 6:45오후 UTC](https://meta.discourse.org/t/empty-topics-after-a-successful-backup-restore/139142/5 "2020-01-20T18:45:36Z")

</div>

> [@Arkshine](#):
>
> _기존_ 설정은 어떤 방식으로든 변경되어서는 안 됩니다.

이것이 가져올 결과를 생각해 보세요. 원하시는 것은 업계 전체의 방향 전환을 요구합니다.

현재, 인 시투(in-situ) 업그레이드에 적용되는 것이 오래된 데이터베이스가 복원될 때에도 적용됩니다. 이는 애플리케이션에 대해 일관되고 예측 가능한 동작입니다.

설정이 변경되지 않기를 원하신다면 정상적인 방법은 해당 애플리케이션의 정확히 동일한 버전을 사용하는 것입니다.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [1월 20, 2020, 6:57오후 UTC](https://meta.discourse.org/t/empty-topics-after-a-successful-backup-restore/139142/6 "2020-01-20T18:57:01Z")

</div>

OP이 백업이 최신 버전에서 수행되었다고 했으니, 그 경우 추가 마이그레이션이 없어야 하는 것 아닌가요?

> [@Arkshine](#):
>
> 저는 구 인스턴스(최신 Discourse 버전)에서 백업(썸네일 포함 옵션이 활성화된 전체 백업)을 수행했습니다.

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [1월 20, 2020, 7:29오후 UTC](https://meta.discourse.org/t/empty-topics-after-a-successful-backup-restore/139142/7 "2020-01-20T19:29:02Z")

</div>

> [@RGJ](#):
>
> 이해가 안 됩니다. OP는 백업이 최신 버전에서 가져온 것이라고 했잖아요.

'최신’이라고 했을 때, 제 의도는 github의 test-passed 브랜치의 최신 커밋이 아니라 최신 릴리스를 의미하는 것이었습니다.  
하지만 네, 동일한 기본 버전 2.4.0.beta9입니다.

> [@Remah](#):
>
> 이것이 의미하는 바를 생각해 보세요. 당신이 원하는 것은 업계 전체의 방향 전환을 요구할 것입니다.
> 
> 현재, 인-시투(in-situ) 업그레이드에 적용되는 것이 오래된 데이터베이스가 복원될 때에도 적용됩니다. 이는 애플리케이션에 일관되고 예측 가능한 동작입니다.
> 
> 설정이 변경되지 않기를 원하신다면, 애플리케이션의 정확히 동일한 버전을 사용하는 것이 일반적인 방법입니다.

우리는 오직 _백업_과 오직 _설정 값_에 대해서만 이야기하고 있을 뿐, 그 외의 것은 아닙니다. Discourse 버전, DB 변경 사항 등등은 무관합니다. 관리자에게 알리지 않고 백업에서 설정 값을 변경할 수 있는 단일한 정당성도 보이지 않습니다. 당신은 바로 그 특정 설정으로 Discourse를 커스터마이징하는 것이므로, 더 새로운 Discourse 버전에서 백업을 복원한다는 이유만으로 _당신의_ 설정 _값_을 함부로 변경하는 것은 말이 되지 않습니다.

말했듯이, 특정 설정의 값이 변경되어야 한다면, Discourse가 관리자게 무슨 일이 일어나고 있는지 알려주기를 기대할 것입니다. 이것은 단순히 투명성을 확보하고 관리자의 삶을 덜 고통스럽게 만드는 것입니다. 제 핵심은 좋은 이유가 없는 한 _사용자 설정_을 절대 변경해서는 안 되며, 만약 그럴 만한 이유가 있다면 관리자에게 알리는 것은 괜찮다는 것입니다.

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [2월 19, 2020, 7:29오후 UTC](https://meta.discourse.org/t/empty-topics-after-a-successful-backup-restore/139142/8 "2020-02-19T19:29:15Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
