재구축 시 PG 오류 - 관계 "email_tokens"에 열 "token"이(가) 존재하지 않음

다음과 같은 오류가 발생합니다:

2021-12-13 08:57:12.809 UTC [902] discourse@discourse ERROR:  column "token" of relation "email_tokens" does not exist
2021-12-13 08:57:12.809 UTC [902] discourse@discourse STATEMENT:  ALTER TABLE email_tokens ALTER COLUMN token DROP NOT NULL

rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

PG::UndefinedColumn: ERROR:  column "token" of relation "email_tokens" does not exist

관련 링크?:

우리도 같은 문제를 겪고 있습니다.

현재 실패한 재빌드 이후 ./launcher start app 명령어로 기존 컨테이너를 성공적으로 시작했지만, 마이그레이션 중간에 실패가 발생했기 때문에 데이터베이스가 일관된 상태인지 알 수 없습니다.

안심을 위해, 이와 같은 실패가 발생했을 때 데이터베이스 마이그레이션이 완전히 롤백되는지 알려 주실 수 있을까요?

저도 마찬가지입니다. 8시간 전 백업으로 롤백하고 있어요.

버그인 것 같습니다. SKIP_POST_DEPLOYMENT_MIGRATIONS이 설정되어 있지 않은 것 같은데, 맞습니까?

아니면, 임시 해결책으로 app.yml에서 해당 값을 1로 설정한 후 재빌드를 실행하고, 다시 원래 값으로 되돌려 업그레이드를 수행하거나 컨테이너 내부에서 값을 0으로 설정한 뒤 명령줄에서 마이그레이션을 실행해 보실 수 있습니다.

제안해 주셔서 감사합니다, Jay. 하지만 저는 app.yml에 이 설정이 되어 있지 않은 것 같습니다.

해당 문제를 겪고 계신 분 중 rails 콘솔에서 다음 명령어를 실행하여 결과를 공유해 주실 수 있을까요?

./launcher enter app
rails c

…

DB.query "SELECT table_schema, table_name, column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='email_tokens' AND column_name='token';"

확인해 주실 수 있을까요?
재빌드할 때마다 이 오류가 발생하고 있는 것 같습니다.

완벽합니다, @aksoforever 님 - 제 추측이 맞았네요. 이 PR이 문제를 해결할 것 같습니다:

재구축 후에도 여전히 오류가 발생합니다.

다시 재구축이 필요한 것 같습니다. 시도해 보겠습니다.

해당 커밋이 tests-passed 브랜치에 반영되기까지 10~15분이 걸릴 예정입니다. 완료되면 여기에 알려드리겠습니다.

네, 해당 커밋이 이제 tests-passed에 반영되었습니다.

cc @aksoforever @merefield @alexsts @AquaL1te @pfaffman @TechGeek - 이제 재빌드가 정상적으로 작동할 것입니다. 불편을 끼쳐 죄송합니다!

네, 완벽하게 작동합니다. 데이비드, 감사합니다.
정말 정말 도움이 많이 되었습니다.

오, 좋은 지적이에요! 데이비드, 고마워요