여러분, 안녕하세요? 다들 잘 지내시나요?
여러분, 이런 문제를 겪고 있습니다. Discourse에서 데이터베이스를 애플리케이션에서 분리했는데, 애플리케이션을 업로드할 때마다 이미지가 버그가 나는 것 같습니다. 다시 애플리케이션을 업로드할 때 데이터를 업데이트하지 못하는 것처럼 보이거든요. 이 에러를 경험해 보신 분이나 해결 방법을 아시는 분이 있을까요?
앱을 업로드한다는 표현이 정확히 무엇을 의미하는지, 그리고 어떤 구체적인 오류가 발생하고 있는지 이해하고 싶습니다. 진행한 작업 내용과 확인되는 오류 메시지에 대한 세부 정보를 제공해 주시면 도움이 될 것입니다.
현재 정보만으로는 전체 맥락이 부족하여 추측에 의존할 수밖에 없지만, 데이터베이스 마이그레이션이 아직 수행되지 않았을 가능성이 있습니다. 저는 또한 데이터베이스를 별도의 서버에 호스팅하고 있습니다. app.yml에서 데이터베이스가 올바르게 구성되어 있는 한, 이미지 재빌드 시 데이터베이스가 자동으로 마이그레이션됩니다.
저는 AWS의 AMI를 업데이트하여 애플리케이션을 EC2에 업로드해야 하는 경우가 많습니다. 처음에는 전체 프로세스가 아무 문제 없이 잘 진행되지만, 인스턴스를 종료(또는 삭제)하고 변경 사항을 적용한 뒤 다시 업로드하면 이미지가 손상된 상태로 애플리케이션이 돌아옵니다. 데이터베이스를 다시 채우려 하는 것인지, 아니면 데이터를 업데이트하지 못하는 것인지 정확히 알 수 없습니다.
이미지(즉, 업로드 및 첨부 파일)를 어디에 저장하고 계신가요?
제가 짐작하기로는 launcher로 빌드하지 않은 이미지를 실행하려는 건 아닌가요? 새 이미지가 실행된 후에 다음과 같은 작업을 수행할 수 있을 것입니다.
rake db:migrate
(새 이미지가 실행되고 이전 이미지가 종료될 때까지 일부 마이그레이션을 지연시키는 더 복잡하지만 더 정확한 방법이 있습니다. SKIP_POST_DEPLOYMENT_MIGRATIONS와 db:ensure_post_migrations rake 태스크를 참조하세요.)
아, 그리고 업로드용 S3 호환 객체 저장소 제공자 구성에 설명된 대로 모든 자산을 S3에 올려야 합니다.
모델과 모든 데이터가 이미 입력된 백업 및 복원 파일을 가지고 있습니다.
업로드된 파일과 에셋을 S3에 저장하고 있나요? (가능합니다) 아니면 저장하지 않나요? (불가능합니다)?
예, S3 백업을 생성합니다.
백업이 아니라 업로드에 대해 묻는 겁니다.