Bootstrap 컨테이너가 su discourse -c 'bundle exec rake db:migrate'에서 멈춤

현재 이 최신 릴리스를 실행 중입니다:

여전히 프로덕션 컨테이너에서 실행 중이며(문제 없음) 상태입니다.

이 릴리스를 기반으로 부트스트랩을 시도하고 있습니다:

오늘 여러 번 시도해 보았지만, 매번 여기에서 멈춥니다:

Screen Shot 2021-02-11 at 5.32.24 PM

데이터 및 스탠바이 앱 컨테이너(부트스트랩 진행 중)의 로그를 확인해 보았으나, 오류나 문제가 없습니다.

부트스트랩을 할 때마다 항상 이 줄에서 멈춥니다:

I, [2021-02-11T10:37:25.133098 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'

디버깅을 위해 어디를 살펴봐야 할지 단서가 있을까요?

생각할 수 있는 모든 로그(모든 컨테이너)를 확인해 보았지만 문제를 찾을 수 없습니다.

감사합니다.

추가 정보:

매번 멈추고 부트스트랩 프로세스에서 Ctrl+C로 빠져나오면 postmaster 프로세스가 남는 것 같습니다. 이후 이를 종료할 수 있습니다.

예시:

업데이트:

웹 템플릿의 “db:migrate” 줄을 주석 처리하면 부트스트랩이 정상적으로 재구축됩니다.

오류가 전혀 없는 상태에서 "rails db:migrate"가 멈추는 이상한 문제가 있는데, 이런 현상은 처음 경험해 봅니다.

이 최근 마이그레이션에 오류(또는 근본적인 문제)가 있는 것 같습니다.

다음도 참고하세요:

Hi @neounix, 공유해 주신 마이그레이션 관련 문제를 인지하고 있으며, 현재 수정 작업을 진행 중입니다.

2개의 좋아요

안녕하세요 @david

답변해 주셔서 감사합니다!

방금 마이그레이션을 살펴보고 있었는데, "Discourse DB 마이그레이션 전문가"가 아닌 제 첫 번째 생각은 이것이 문제일 수 있다는 것이었습니다.

 add_index :dismissed_topic_users, %i(user_id topic_id), unique: true

어쨌든 저는 Discourse 마이그레이션 문제에 대해 더 깊이 파고들 자격이 없으므로, 여기서 물러나 상황을 지켜보겠습니다.

다시 한번 감사합니다!

데이터 손실 없이 마이그레이션을 안전하게 중단하고 몇 가지 커밋을 되돌릴 수 있을까요?

성공적으로 작동했습니다.

1개의 좋아요

안녕하세요 @neounix,

그렇게 무겁고 깨진 마이그레이션을 코드베이스에 포함시킨 점 죄송합니다. 해당 변경사항은 되돌려졌으므로 새로운 배포는 문제없이 진행될 것입니다:

4개의 좋아요

안녕하세요 @kris.kotlarek

업데이트 감사합니다:

이 "대규모 마이그레이션"이 코어에 병합되기 전에 대규모 DB를 가진 테스트 구성에서 추가적인 검토와 엄격한 개발 테스트가 필요하다는 데 동의합니다. 다행히도 저희 사이트는 항상 프로덕션과 병렬로 부트스트랩을 수행하고 있어 마이그레이션 실패로 인한 다운타임이 발생하지 않았으므로, 저희 쪽에서는 걱정할 일이 없습니다. 이렇게 빠르게 되돌려 주셔서 감사합니다.

참고로 (기술적으로 정확히 말씀드리고 싶어서 죄송합니다…), 방금 재빌드 후 DB를 확인해 보니 “되돌리기” 과정에서 테이블이 DB에서 삭제되지 않았습니다. 큰 문제는 아니지만, 참고해 주시면 좋겠습니다:

discourse=> \d dismissed_topic_users

                                        Table "public.dismissed_topic_users"
   Column   |            Type             | Collation | Nullable |                      Default                      
------------+-----------------------------+-----------+----------+---------------------------------------------------
 id         | bigint                      |           | not null | nextval('dismissed_topic_users_id_seq'::regclass)
 user_id    | integer                     |           |          | 
 topic_id   | integer                     |           |          | 
 created_at | timestamp without time zone |           |          | 
Indexes:
    "dismissed_topic_users_pkey" PRIMARY KEY, btree (id)
    "index_dismissed_topic_users_on_user_id_and_topic_id" UNIQUE, btree (user_id, topic_id)

이러한 작업에 대한 노고와 마이그레이션을 빠르게 되돌려 주신 데 대해 다시 한번 감사드립니다.

2개의 좋아요

최근 커밋 기준으로 이번 마이그레이션이 이제 원활하게 작동하고 있습니다:

4개의 좋아요

이 주제는 6일 후 자동으로 닫혔습니다. 더 이상 새 답글을 작성할 수 없습니다.