exlabs
(Daniel)
8월 3, 2024, 8:22오후
1
안녕하세요,
주요 인스턴스에서 Discourse 3.4.0.beta1-dev 버전 633a19fcc09a41a31eadd176519483217b2ec241 을 사용하여 만든 백업이 있습니다.
이 백업을 로컬 인스턴스에 업로드하려고 합니다. 로컬 인스턴스는 새로 설치된 환경으로, Discourse 3.4.0.beta1-dev 버전 2b577950af5b24ed0d32eecc4ab6475619998fba 를 실행 중입니다.
아래는 로그입니다. 우회 방법을 제안해 주실 수 있을까요?
[2024-08-03 16:45:29] CREATE INDEX
[2024-08-03 16:45:29] CREATE INDEX
[2024-08-03 16:45:29] ERROR: function discourse_functions.raise_discourse_voting_category_settings_readonly() does not exist
[2024-08-03 16:45:29] EXCEPTION: psql failed: ERROR: function discourse_functions.raise_discourse_voting_category_settings_readonly() does not exist
RGJ
(Richard - Communiteq)
8월 3, 2024, 10:28오후
2
로컬 인스턴스에 동일한 플러그인 세트가 있나요?
exlabs
(Daniel)
8월 5, 2024, 12:35오후
3
안녕하세요,
아니요, 문제는 Post Voting Plugin 이 설치되어 있지 않았기 때문이었습니다. 흥미롭게도, 메인 사이트에서는 이 플러그인이 활성화되어 있지 않았지만(기본적으로만 설치되어 있었음) 아마도 그 정도만으로도 오류가 발생한 것 같습니다. 감사합니다.
pfaffman
(Jay Pfaffman)
8월 27, 2024, 10:16오후
4
개발 인스턴스에서도 동일한 오류가 발생합니다. 이 인스턴스에서는 이전에 이 복원 실패를 일으켰던 최신 pgvector를 사용하기 위해 방금 pg16으로 업그레이드했고, git pull을 실행한 상태입니다.
게시물 투표(post voting)와 주제 투표(topic voting)를 모두 추가했습니다(주제 투표는 소스에 이미 있었습니다).
제 생각에는 다음과 같이 테이블을 삭제하는 것이 좋겠다고 생각했습니다.
DROP table discourse_voting_category_settings;
하지만 그러려면 CASCADE를 추가해야 했기 때문에, 용기를 내지 못하고 스테이징 환경으로 복원을 시도해 보았습니다.
스테이징 사이트에서 동일한 데이터베이스를 복원하려고 하면 다음과 같은 오류가 발생합니다:
ERROR: type "hotlinked_media_status" already exists
EXCEPTION: psql failed: ERROR: type "hotlinked_media_status" already exists
/var/www/discourse/lib/backup_restore/database_restorer.rb:92:in `restore_dump'
/var/www/discourse/lib/backup_restore/database_restorer.rb:26:in `restore'
/var/www/discourse/lib/backup_restore/restorer.rb:51:in `run'
RGJ
(Richard - Communiteq)
8월 27, 2024, 10:31오후
5
그건 좀 다른 것 같습니다. 지난 3주 동안 그 사실을 잊고 있었는데, 그 이후로 게시글 투표 플러그인이 설치되지 않은 상태에서 백업 복원이 실패한 경우가 몇 번 있었습니다. 그러니 그 부분은 확실한 문제입니다.
하지만 hotlinked_media_status는 2022년에 추가된 코어 테이블이므로… 이건 분명 다른 문제일 겁니다.
./db/migrate/20220428094026_create_post_hotlinked_media.rb
(참고로 지난 11년간의 모든 이슈에 대해 일지를 작성해 왔는데, 이 건에 대한 언급은 없습니다)
pfaffman
(Jay Pfaffman)
8월 28, 2024, 3:37오후
6
음, 개발 인스턴스에 프로덕션 사이트와 동일한 플러그인이 모두 설치되어 있는지 확인하고 거기에 백업을 복원했습니다!
하지만 스테이징 사이트는(어떤 이유로든 microsoft auth 플러그인이 빠져 있지만, 그게 원인은 아니겠죠?!?!?!) 여전히 EXCEPTION: psql failed: ERROR: type "hotlinked_media_status" already exists 문제가 있습니다.
하지만 만약 제가 검색만 했더라면:
비슷한 문제가 한 번 수정된 적이 있는 것 같습니다. . .